[
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "content": "blank_issues_enabled: false\ncontact_links:\n  - name: Functions on Shopify Community\n    url: https://community.shopify.com/c/shopify-functions/bd-p/functions\n    about: Please direct questions and issues to the Functions board on Shopify Community.\n  - name: Functions feature requests\n    url: https://github.com/Shopify/function-examples/discussions\n    about: Please post feature requests to the appropriate category in Discussions."
  },
  {
    "path": ".github/ISSUE_TEMPLATE/template-or-example-issue.md",
    "content": "---\nname: Issue with a template or sample\nabout: Log an issue regarding the template and sample code in this repo.\ntitle: \"\"\nassignees: \"\"\n---\n\n<!--\n    Issues should only be reported here for the example code in this repository.\n\n    Shopify Functions questions and issues can be posted to Shopify Community:\n        https://community.shopify.com/c/shopify-functions/bd-p/functions\n\n    Functions feature requests can be posted to Discussions:\n        https://github.com/Shopify/function-examples/discussions\n-->\n\n## Which template or example\nSpecify the sample or template, and what flavor/language, if applicable.\n\n## Describe the bug\nA clear and concise description of what the bug is.\n\n## Steps to reproduce\nInclude the Shopify CLI command to reproduce, if applicable.\n\n## Expected behavior\nA clear and concise description of what you expected to happen.\n\n## Environment\n* Operating system\n* Shopify CLI version\n\n## Additional context\nAdd any other context about the problem here.\n"
  },
  {
    "path": ".github/dependabot.yaml",
    "content": "version: 2\nupdates:\n  - package-ecosystem: github-actions\n    directory: \"/\"\n    schedule:\n      interval: weekly\n"
  },
  {
    "path": ".github/workflows/cla.yml",
    "content": "name: Contributor License Agreement (CLA)\n\non:\n  pull_request_target:\n    types: [opened, synchronize]\n  issue_comment:\n    types: [created]\n\njobs:\n  cla:\n    runs-on: ubuntu-latest\n    if: |\n      (github.event.issue.pull_request\n        && !github.event.issue.pull_request.merged_at\n        && contains(github.event.comment.body, 'signed')\n      )\n      || (github.event.pull_request && !github.event.pull_request.merged)\n    steps:\n      - uses: Shopify/shopify-cla-action@v1\n        with:\n          github-token: ${{ secrets.GITHUB_TOKEN }}\n          cla-token: ${{ secrets.CLA_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/javascript.yml",
    "content": "name: JavaScript\n\non:\n  push:\n    branches: [ \"main\" ]\n  pull_request:\n    branches: [ \"main\" ]\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1\n      - name: Install dependencies\n        run: yarn\n      - name: Expand liquid\n        run: CI=1 yarn expand-liquid vanilla-js\n      - name: Install workspace dependencies\n        run: yarn\n      - name: Generate types\n        run: yarn typegen\n      - name: Test\n        run: yarn workspaces run test run\n"
  },
  {
    "path": ".github/workflows/rust.yml",
    "content": "name: Rust\n\non:\n  push:\n    branches: [ \"main\" ]\n  pull_request:\n    branches: [ \"main\" ]\n\nenv:\n  CARGO_TERM_COLOR: always\n\njobs:\n  checks:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1\n      - name: Add rustfmt and clippy\n        run: rustup component add rustfmt clippy\n      - name: Install node dependencies\n        run: yarn\n      - name: Expand liquid\n        run: CI=1 yarn expand-liquid rust\n      - name: Run cargo fmt\n        run: cargo fmt --check\n      - name: Run clippy\n        run: cargo clippy -- -D warnings\n      - name: Run tests\n        run: cargo test\n      - name: Add wasm32-wasip1 target\n        run: rustup target add wasm32-wasip1\n      - name: Build with wasm32-wasip1 target\n        run: cargo build --release --target wasm32-wasip1\n"
  },
  {
    "path": ".github/workflows/typescript.yml",
    "content": "name: TypeScript\n\non:\n  push:\n    branches: [ \"main\" ]\n  pull_request:\n    branches: [ \"main\" ]\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1\n      - name: Install dependencies\n        run: yarn\n      - name: Expand liquid\n        run: CI=1 yarn expand-liquid typescript\n      - name: Install workspace dependencies\n        run: yarn\n      - name: Generate types\n        run: yarn typegen\n      - name: Test\n        run: yarn workspaces run test run\n"
  },
  {
    "path": ".gitignore",
    "content": "node_modules\n**/target/\n*.wasm\n.env\n.DS_Store\n.yalc\nyarn.lock\n\n# These files are generated from Shopify CLI templating and should not be committed to this repo\n\n## Extensions\n**/input.graphql\n*/rust/**/Cargo.lock\n*/rust/**/Cargo.toml\n**/shopify.extension.toml\n*/javascript/**/package.json\n*/javascript/**/src/*\n*/typescript/**/package.json\n*/typescript/**/src/*\n*/rust/**/src/*.graphql\n*/wasm/**/*.graphql\n!*/wasm/**/schema.graphql\n**/locales/*.json\n!*/javascript/**/src/*.liquid\n\n## Sample Apps\nsample-apps/*/web/frontend/metafields.js\n!sample-apps/discounts/web/frontend/metafields.js\nsample-apps/*/build/*\nsample-apps/*/public/build/*\n!sample-apps/**/input.graphql\n!sample-apps/**/shopify.extension.toml\n!sample-apps/**/locales/*.json\ndev.sqlite\n"
  },
  {
    "path": ".graphqlrc.cjs",
    "content": "/**\n * Configures the GraphQL language server for all the function schemas in this repo.\n */\nconst fs = require('node:fs');\n\nfunction getProjects(path) {\n    const projects = {}\n\n    const extensions = fs.readdirSync(`./${path}`);\n    for (const entry of extensions) {\n        const extensionPath = `./${path}/${entry}`;\n        const schema = `${extensionPath}/schema.graphql`;\n        if(!fs.existsSync(schema)) {\n            continue;\n        }\n\n        const projectName = extensionPath.substring(2).replaceAll('/', '-');\n        projects[projectName] = {\n            schema,\n            documents: `${extensionPath}/input.graphql`\n        }\n    }\n\n    return projects;\n}\n\nconst projects = {\n    ...getProjects(\"sample-apps/discounts/extensions\"),\n    ...getProjects(\"sample-apps/payment-customizations/extensions\"),\n    ...getProjects(\"sample-apps/delivery-customizations/extensions\"),\n    ...getProjects(\"checkout/rust/delivery-customization\"),\n    ...getProjects(\"checkout/rust/payment-customization\"),\n    ...getProjects(\"checkout/javascript/delivery-customization\"),\n    ...getProjects(\"checkout/javascript/payment-customization\"),\n    ...getProjects(\"checkout/javascript/cart-checkout-validation\"),\n    ...getProjects(\"discounts/rust/order-discounts\"),\n    ...getProjects(\"discounts/rust/product-discounts\"),\n    ...getProjects(\"discounts/rust/shipping-discounts\"),\n}\n\nmodule.exports = {\n    projects\n};\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participation in our\ncommunity a harassment-free experience for everyone, regardless of age, body\nsize, visible or invisible disability, ethnicity, sex characteristics, gender\nidentity and expression, level of experience, education, socio-economic status,\nnationality, personal appearance, race, religion, or sexual identity\nand orientation.\n\nWe pledge to act and interact in ways that contribute to an open, welcoming,\ndiverse, inclusive, and healthy community.\n\n## Our Standards\n\nExamples of behavior that contributes to a positive environment for our\ncommunity include:\n\n- Demonstrating empathy and kindness toward other people\n- Being respectful of differing opinions, viewpoints, and experiences\n- Giving and gracefully accepting constructive feedback\n- Accepting responsibility and apologizing to those affected by our mistakes,\n  and learning from the experience\n- Focusing on what is best not just for us as individuals, but for the\n  overall community\n\nExamples of unacceptable behavior include:\n\n- The use of sexualized language or imagery, and sexual attention or\n  advances of any kind\n- Trolling, insulting or derogatory comments, and personal or political attacks\n- Public or private harassment\n- Publishing others' private information, such as a physical or email\n  address, without their explicit permission\n- Other conduct which could reasonably be considered inappropriate in a\n  professional setting\n\n## Enforcement Responsibilities\n\nCommunity leaders are responsible for clarifying and enforcing our standards of\nacceptable behavior and will take appropriate and fair corrective action in\nresponse to any behavior that they deem inappropriate, threatening, offensive,\nor harmful.\n\nCommunity leaders have the right and responsibility to remove, edit, or reject\ncomments, commits, code, wiki edits, issues, and other contributions that are\nnot aligned to this Code of Conduct, and will communicate reasons for moderation\ndecisions when appropriate.\n\n## Scope\n\nThis Code of Conduct applies within all community spaces, and also applies when\nan individual is officially representing the community in public spaces.\nExamples of representing our community include using an official e-mail address,\nposting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported to the community leaders responsible for enforcement at\n[INSERT CONTACT METHOD].\nAll complaints will be reviewed and investigated promptly and fairly.\n\nAll community leaders are obligated to respect the privacy and security of the\nreporter of any incident.\n\n## Enforcement Guidelines\n\nCommunity leaders will follow these Community Impact Guidelines in determining\nthe consequences for any action they deem in violation of this Code of Conduct:\n\n### 1. Correction\n\n**Community Impact**: Use of inappropriate language or other behavior deemed\nunprofessional or unwelcome in the community.\n\n**Consequence**: A private, written warning from community leaders, providing\nclarity around the nature of the violation and an explanation of why the\nbehavior was inappropriate. A public apology may be requested.\n\n### 2. Warning\n\n**Community Impact**: A violation through a single incident or series\nof actions.\n\n**Consequence**: A warning with consequences for continued behavior. No\ninteraction with the people involved, including unsolicited interaction with\nthose enforcing the Code of Conduct, for a specified period of time. This\nincludes avoiding interactions in community spaces as well as external channels\nlike social media. Violating these terms may lead to a temporary or\npermanent ban.\n\n### 3. Temporary Ban\n\n**Community Impact**: A serious violation of community standards, including\nsustained inappropriate behavior.\n\n**Consequence**: A temporary ban from any sort of interaction or public\ncommunication with the community for a specified period of time. No public or\nprivate interaction with the people involved, including unsolicited interaction\nwith those enforcing the Code of Conduct, is allowed during this period.\nViolating these terms may lead to a permanent ban.\n\n### 4. Permanent Ban\n\n**Community Impact**: Demonstrating a pattern of violation of community\nstandards, including sustained inappropriate behavior, harassment of an\nindividual, or aggression toward or disparagement of classes of individuals.\n\n**Consequence**: A permanent ban from any sort of public interaction within\nthe community.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage],\nversion 2.0, available at\nhttps://www.contributor-covenant.org/version/2/0/code_of_conduct.html.\n\nCommunity Impact Guidelines were inspired by [Mozilla's code of conduct\nenforcement ladder](https://github.com/mozilla/diversity).\n\n[homepage]: https://www.contributor-covenant.org\n\nFor answers to common questions about this code of conduct, see the FAQ at\nhttps://www.contributor-covenant.org/faq. Translations are available at\nhttps://www.contributor-covenant.org/translations.\n"
  },
  {
    "path": "Cargo.toml",
    "content": "[workspace]\nmembers = [\n    \"*/rust/*/*\",\n    \"sample-apps/*/extensions/*\",\n]\nexclude = [\n    # Excludes do not support globbing -- https://github.com/rust-lang/cargo/issues/11405\n    \"sample-apps/delivery-customizations/extensions/delivery-customization-js\",\n    \"sample-apps/discounts/extensions/product-discount-js\",\n    \"sample-apps/payment-customizations/extensions/payment-customization-js/\",\n    \"sample-apps/bundles-cart-transform/extensions/cart-expand-js/\",\n    \"sample-apps/bundles-price-per-component/extensions/price-per-component-js\",\n    \"sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-js\",\n    \"sample-apps/update-line-item/extensions/update-line-item-js\",\n]\n"
  },
  {
    "path": "LICENSE.md",
    "content": "\nCopyright 2021-present, Shopify Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# Function Examples\n\nThis is the home of all the public examples of Shopify Functions. It's used by the CLI when running `yarn shopify app generate extension`. Feel free to look around! Do not edit these files directly.\n\n## Local Development\n\n### Expand Liquid Templates\n\nIf you wish to run the samples directly from this repository, you must first expand any `.liquid` templates with the following command.\n\n```shell\nyarn\nyarn expand-liquid\n# optionally provide the language flavor\nyarn expand-liquid vanilla-js\nyarn expand-liquid typescript\n```\n\n### Run Tests\n\n```shell\n# JavaScript\nyarn test-js\n# TypeScript\nyarn test-ts\n# Rust\ncargo test\n```\n\n### Lint\n\n```shell\n# currently only applies to Rust\ncargo fmt\ncargo clippy -- -D warnings\n```\n"
  },
  {
    "path": "checkout/javascript/cart-checkout-validation/default/.gitignore",
    "content": "dist\ngenerated\n"
  },
  {
    "path": "checkout/javascript/cart-checkout-validation/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/javascript/cart-checkout-validation/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "checkout/javascript/cart-checkout-validation/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\ntype BuyerJourney {\n  step: BuyerJourneyStep\n}\n\n\"\"\"\nA specific stage in the customer's purchasing journey that indicates where the customer is in the checkout\nprocess.\n\"\"\"\nenum BuyerJourneyStep {\n  \"\"\"\n  The customer is interacting with the cart. For example, the customer is adding items to the cart\n  or removing items from the cart.\n  \"\"\"\n  CART_INTERACTION\n\n  \"\"\"\n  The customer is completing checkout. For example, the customer is reviewing their order before\n  finalizing the purchase.\n  \"\"\"\n  CHECKOUT_COMPLETION\n\n  \"\"\"\n  The customer is interacting with checkout. For example, the customer is adding their shipping\n  address or payment information.\n  \"\"\"\n  CHECKOUT_INTERACTION\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA Function error for a path.\n\"\"\"\ninput FunctionError {\n  \"\"\"\n  A description of the validation error. For example, \"The product is out of stock\" or\n  \"The product isn't available for purchase in your region\". The message is localized for the customer.\n  \"\"\"\n  localizedMessage: String!\n\n  \"\"\"\n  The [identifier](https://shopify.dev/docs/api/functions/reference/cart-checkout-validation/graphql#supported-checkout-field-targets)\n  in `shopify.extension.toml` that specifies where you're injecting code in the checkout process.\n  \"\"\"\n  target: String!\n}\n\n\"\"\"\nThe fetch target result. Your Function must return this data structure when generating the request.\n\"\"\"\ninput FunctionFetchResult {\n  \"\"\"\n  The attributes associated with an HTTP request.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the validation errors\nthat display to customers and prevent them from proceeding through checkout. In\nAPI versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The validation errors that block a customer from proceeding through checkout.\n  \"\"\"\n  errors: [FunctionError!]!\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the validation errors\nthat display to customers and prevent them from proceeding through checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The validation errors that block a customer from proceeding through checkout.\n  \"\"\"\n  errors: [FunctionError!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request.\n\"\"\"\ninput HttpRequest {\n  \"\"\"\n  The HTTP request body as a plain string.\n  Use this field when the body isn't in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpRequestHeader!]!\n\n  \"\"\"\n  The HTTP request body as a JSON object.\n  Use this field when the body's in JSON format, to reduce function instruction consumption\n  and to ensure the body's formatted in logs.\n  Don't use this field together with the `body` field. If both are provided, then the `body` field\n  will take precedence.\n  If this field is specified and no `Content-Type` header is included, then the header will\n  automatically be set to `application/json`.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP method.\n  \"\"\"\n  method: HttpRequestMethod!\n\n  \"\"\"\n  Policy attached to the HTTP request.\n  \"\"\"\n  policy: HttpRequestPolicy!\n\n  \"\"\"\n  The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.\n  \"\"\"\n  url: URL!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request header.\n\"\"\"\ninput HttpRequestHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nThe HTTP request available methods.\n\"\"\"\nenum HttpRequestMethod {\n  \"\"\"\n  Http GET.\n  \"\"\"\n  GET\n\n  \"\"\"\n  Http POST.\n  \"\"\"\n  POST\n}\n\n\"\"\"\nThe attributes associated with an HTTP request policy.\n\"\"\"\ninput HttpRequestPolicy {\n  \"\"\"\n  Read timeout in milliseconds.\n  \"\"\"\n  readTimeoutMs: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response.\n\"\"\"\ntype HttpResponse {\n  \"\"\"\n  The HTTP response body as a plain string.\n  Use this field when the body is not in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  An HTTP header.\n  \"\"\"\n  header(\n    \"\"\"\n    A case-insensitive header name.\n    \"\"\"\n    name: String!\n  ): HttpResponseHeader\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpResponseHeader!]! @deprecated(reason: \"Use `header` instead.\")\n\n  \"\"\"\n  The HTTP response body parsed as JSON. \n  If the body is valid JSON, it will be parsed and returned as a JSON object. \n  If parsing fails, then raw body is returned as a string. \n  Use this field when you expect the response to be JSON, or when you're dealing\n  with mixed response types, meaning both JSON and non-JSON.\n  Using this field reduces function instruction consumption and ensures that the data is formatted in logs.\n  To prevent increasing the function target input size unnecessarily, avoid querying\n  both `body` and `jsonBody` simultaneously.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP status code.\n  \"\"\"\n  status: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response header.\n\"\"\"\ntype HttpResponseHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe `Input` object is the complete GraphQL schema that your Function can receive\nas input to validate cart and checkout. Your Function receives only the fields\nthat you request in the input query. To optimize performance, we highly\nrecommend that you request only the fields that your Function requires.\n\"\"\"\ntype Input {\n  \"\"\"\n  Information about the current step in the buyer's purchasing process. The\n  buyer journey helps you determine where the customer is in their shopping\n  experience (for example, cart interaction, checkout interaction, or completing\n  a checkout). You can use this information to apply appropriate validation\n  rules based on the customer's current context and create a more tailored and\n  performant shopping experience.\n  \"\"\"\n  buyerJourney: BuyerJourney!\n\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The `FunctionFetchResult` object is the result of the fetch target. This is\n  the response that Shopify returns after executing the HTTP request defined in\n  your fetch target, and that is passed as input to the run target. For more\n  information, refer to [network access for Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/network-access).\n  \"\"\"\n  fetchResult: HttpResponse @restrictTarget(only: [\"purchase.validation.run\"])\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n\n  \"\"\"\n  The configuration of the app that owns the Function. This configuration\n  controls how merchants can define validation rules for carts and checkout,\n  such as inventory checks, price validations, or custom purchase restrictions.\n  \"\"\"\n  validation: Validation!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the purchase.validation.fetch target.\n  \"\"\"\n  fetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.validation.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nA customization that validates a cart and/or checkout.\n\"\"\"\ntype Validation implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/javascript/cart-checkout-validation/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.validation.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n"
  },
  {
    "path": "checkout/javascript/cart-checkout-validation/default/src/index.liquid",
    "content": "export * from './run';\n"
  },
  {
    "path": "checkout/javascript/cart-checkout-validation/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  cart {\n    lines {\n      quantity\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/javascript/cart-checkout-validation/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n// @ts-check\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const errors = input.cart.lines\n    .filter(({ quantity }) => quantity > 1)\n    .map(() => ({\n      localizedMessage: \"Not possible to order more than one of each\",\n      target: \"$.cart\",\n    }));\n\n  return {\n    errors\n  }\n};\n{%- elsif flavor contains \"typescript\" -%}\nimport type {\n  RunInput,\n  FunctionRunResult,\n  FunctionError,\n} from \"../generated/api\";\n\nexport function run(input: RunInput): FunctionRunResult {\n  const errors: FunctionError[] = input.cart.lines\n    .filter(({ quantity }) => quantity > 1)\n    .map(() => ({\n      localizedMessage: \"Not possible to order more than one of each\",\n      target: \"$.cart\",\n    }));\n\n  return {\n    errors\n  }\n};\n{%- endif -%}\n"
  },
  {
    "path": "checkout/javascript/cart-checkout-validation/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\ndescribe('cart checkout validation function', () => {\n  it('returns an error when quantity exceeds one', () => {\n    const result = run({\n      cart: {\n        lines: [\n          {\n            quantity: 3\n          }\n        ]\n      }\n    });\n    const expected = /** @type {FunctionRunResult} */ ({ errors: [\n      {\n        localizedMessage: \"Not possible to order more than one of each\",\n        target: \"$.cart\"\n      }\n    ] });\n\n    expect(result).toEqual(expected);\n  });\n\n  it('returns no errors when quantity is one', () => {\n    const result = run({\n      cart: {\n        lines: [\n          {\n            quantity: 1\n          }\n        ]\n      }\n    });\n    const expected = /** @type {FunctionRunResult} */ ({ errors: [] });\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\nimport { FunctionRunResult } from \"../generated/api\";\n\ndescribe('cart checkout validation function', () => {\n  it('returns an error when quantity exceeds one', () => {\n    const result = run({\n      cart: {\n        lines: [\n          {\n            quantity: 3\n          }\n        ]\n      }\n    });\n    const expected: FunctionRunResult = { errors: [\n      {\n        localizedMessage: \"Not possible to order more than one of each\",\n        target: \"$.cart\"\n      }\n    ] };\n\n    expect(result).toEqual(expected);\n  });\n\n  it('returns no errors when quantity is one', () => {\n    const result = run({\n      cart: {\n        lines: [\n          {\n            quantity: 1\n          }\n        ]\n      }\n    });\n    const expected: FunctionRunResult = { errors: [] };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- endif -%}\n"
  },
  {
    "path": "checkout/javascript/cart-checkout-validation/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "checkout/javascript/cart-transform/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "checkout/javascript/cart-transform/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/javascript/cart-transform/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "checkout/javascript/cart-transform/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/javascript/cart-transform/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "checkout/javascript/cart-transform/default/src/index.liquid",
    "content": "export * from './run';\n"
  },
  {
    "path": "checkout/javascript/cart-transform/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  cart {\n    lines {\n      id\n      quantity\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/javascript/cart-transform/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n// @ts-check\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst NO_CHANGES = {\n  operations: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  return NO_CHANGES;\n};\n{%- elsif flavor contains \"typescript\" -%}\nimport type {\n  RunInput,\n  FunctionRunResult,\n} from \"../generated/api\";\n\nconst NO_CHANGES: FunctionRunResult = {\n  operations: [],\n};\n\nexport function run(input: RunInput): FunctionRunResult {\n  return NO_CHANGES;\n};\n{%- endif -%}\n"
  },
  {
    "path": "checkout/javascript/cart-transform/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\ndescribe('cart transform function', () => {\n  it('returns no operations', () => {\n    const result = run({});\n    const expected = /** @type {FunctionRunResult} */ ({ operations: [] });\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\nimport { FunctionRunResult } from '../generated/api';\n\ndescribe('cart transform function', () => {\n  it('returns no operations', () => {\n    const result = run({\n      cart: {\n        lines: []\n      }\n    });\n    const expected: FunctionRunResult = { operations: [] };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- endif -%}\n"
  },
  {
    "path": "checkout/javascript/cart-transform/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "checkout/javascript/delivery-customization/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "checkout/javascript/delivery-customization/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/javascript/delivery-customization/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "checkout/javascript/delivery-customization/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA customization representing how delivery options will be ordered, hidden, or renamed.\n\"\"\"\ntype DeliveryCustomization implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply to delivery options in checkout. In\nAPI versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of\n  [delivery options](https://shopify.dev/docs/apps/build/checkout/delivery-shipping/delivery-options/build-function).\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply to delivery options in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of\n  [delivery options](https://shopify.dev/docs/apps/build/checkout/delivery-shipping/delivery-options/build-function).\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nAn operation that hides a delivery option from a list that's offered to customers at checkout.\n\"\"\"\ninput HideOperation {\n  \"\"\"\n  The handle of the delivery option to hide.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function is running to define how\n  [delivery options](https://shopify.dev/apps/build/checkout/delivery-shipping/delivery-options/build-function)\n  are sorted, hidden, or renamed. It includes the\n  [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  deliveryCustomization: DeliveryCustomization!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nAn operation that sorts a list of delivery options that are offered to customers at checkout.\n\nIf you reorder shipping delivery options, then you are\n[prohibited](https://shopify.dev/docs/apps/launch/app-requirements-checklist#prohibited-app-types).\nfrom automatically selecting higher-priced delivery alternatives by default. The cheapest shipping delivery option\nmust always be the first option selected.\n\"\"\"\ninput MoveOperation {\n  \"\"\"\n  The handle of the delivery option to move.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n\n  \"\"\"\n  The target index within the delivery group to move the delivery option to.\n  \"\"\"\n  index: Int!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.delivery-customization.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the list of delivery options.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  An operation that hides a delivery option from a list that's offered to customers at checkout.\n  \"\"\"\n  hide: HideOperation\n\n  \"\"\"\n  An operation that sorts a list of delivery options that are offered to customers at checkout.\n\n  If you reorder shipping delivery options, then you are\n  [prohibited](https://shopify.dev/docs/apps/launch/app-requirements-checklist#prohibited-app-types).\n  from automatically selecting higher-priced delivery alternatives by default. The cheapest shipping delivery option\n  must always be the first option selected.\n  \"\"\"\n  move: MoveOperation\n\n  \"\"\"\n  An operation that renames a delivery option that's offered to customers at checkout.\n\n  The carrier name is automatically prepended to the delivery option title at checkout when using the\n  `RenameOperation` object, and can't be altered or omitted through the API. For example, if the carrier name\n  is **UPS** and the option is **Standard**, then you could change **UPS Standard** to **UPS Standard Shipping**,\n  but you couldn't change **UPS Standard** to **Standard Shipping**.\n  \"\"\"\n  rename: RenameOperation\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nAn operation that renames a delivery option that's offered to customers at checkout.\n\nThe carrier name is automatically prepended to the delivery option title at checkout when using the\n`RenameOperation` object, and can't be altered or omitted through the API. For example, if the carrier name\nis **UPS** and the option is **Standard**, then you could change **UPS Standard** to **UPS Standard Shipping**,\nbut you couldn't change **UPS Standard** to **Standard Shipping**.\n\"\"\"\ninput RenameOperation {\n  \"\"\"\n  The handle of the delivery option to rename.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n\n  \"\"\"\n  The new name for the delivery option.\n  \"\"\"\n  title: String!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/javascript/delivery-customization/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.delivery-customization.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "checkout/javascript/delivery-customization/default/src/index.liquid",
    "content": "export * from './run';\n"
  },
  {
    "path": "checkout/javascript/delivery-customization/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  deliveryCustomization {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/javascript/delivery-customization/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n// @ts-check\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst NO_CHANGES = {\n  operations: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const configuration = JSON.parse(\n    input?.deliveryCustomization?.metafield?.value ?? \"{}\"\n  );\n\n  return NO_CHANGES;\n};\n{%- elsif flavor contains \"typescript\" -%}\nimport type {\n  RunInput,\n  FunctionRunResult,\n} from \"../generated/api\";\n\nconst NO_CHANGES: FunctionRunResult = {\n  operations: [],\n};\n\ntype Configuration = {};\n\nexport function run(input: RunInput): FunctionRunResult {\n  const configuration: Configuration = JSON.parse(\n    input?.deliveryCustomization?.metafield?.value ?? \"{}\"\n  );\n  return NO_CHANGES;\n};\n{%- endif -%}\n"
  },
  {
    "path": "checkout/javascript/delivery-customization/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\ndescribe('delivery customization function', () => {\n  it('returns no operations without configuration', () => {\n    const result = run({\n      deliveryCustomization: {\n        metafield: null\n      }\n    });\n    const expected = /** @type {FunctionRunResult} */ ({ operations: [] });\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\nimport { FunctionRunResult } from '../generated/api';\n\ndescribe('delivery customization function', () => {\n  it('returns no operations without configuration', () => {\n    const result = run({\n      deliveryCustomization: {\n        metafield: null\n      }\n    });\n    const expected: FunctionRunResult = { operations: [] };\n\n    expect(result).toEqual(expected);\n  });\n});\n{% endif -%}\n"
  },
  {
    "path": "checkout/javascript/delivery-customization/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "checkout/javascript/payment-customization/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "checkout/javascript/payment-customization/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/javascript/payment-customization/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "checkout/javascript/payment-customization/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to\napply to payment methods in checkout. In API versions 2023-10 and beyond, this\ntype is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of payment methods.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to apply to payment methods in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of payment methods.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nA request to hide a payment method during checkout.\n\nWhen your Function returns this operation, it removes the specified payment method\nfrom the available options shown to customers during checkout.\n\nUse this operation when you want to conditionally hide payment methods based on\ncheckout attributes, customer data, or other business logic implemented in your Function.\n\"\"\"\ninput HideOperation {\n  \"\"\"\n  The identifier of the payment method to hide out.\n  \"\"\"\n  paymentMethodId: ID!\n\n  \"\"\"\n  Placement types to hide. If not provided, all placements will be hidden.\n  \"\"\"\n  placements: [PaymentCustomizationPaymentMethodPlacement!]\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe `Input` object is the complete GraphQL schema that your Function can query\nas an input to customize the payment methods that are available to customers\nduring checkout. Your Function receives only the fields that you request in the\ninput query. To optimize performance, we highly recommend that you request only\nthe fields that your function requires.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The configuration of the app that owns the Function. This configuration\n  controls how merchants can modify [payment methods](https://help.shopify.com/manual/checkout-settings/checkout-customization),\n  such as renaming, reordering, or hiding them.\n  \"\"\"\n  paymentCustomization: PaymentCustomization!\n\n  \"\"\"\n  The list of payment methods that are available to customers during checkout that your Function can customize.\n  \"\"\"\n  paymentMethods: [PaymentCustomizationPaymentMethod!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nA request to move a payment method to a new position in the checkout display order.\n\nWhen your Function returns this operation, it changes the display order of payment methods\nby placing the specified payment method at the requested index position.\n\nUse this operation when you want to prioritize certain payment methods based on\ncheckout context, customer preferences, or other business logic implemented in your Function.\n\"\"\"\ninput MoveOperation {\n  \"\"\"\n  The index to move the payment method to.\n  \"\"\"\n  index: Int!\n\n  \"\"\"\n  The identifier of the payment method to move.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.payment-customization.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the list of payment methods.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  A request to hide a payment method during checkout.\n\n  When your Function returns this operation, it removes the specified payment method\n  from the available options shown to customers during checkout.\n\n  Use this operation when you want to conditionally hide payment methods based on\n  checkout attributes, customer data, or other business logic implemented in your Function.\n  \"\"\"\n  hide: HideOperation\n\n  \"\"\"\n  A request to move a payment method to a new position in the checkout display order.\n\n  When your Function returns this operation, it changes the display order of payment methods\n  by placing the specified payment method at the requested index position.\n\n  Use this operation when you want to prioritize certain payment methods based on\n  checkout context, customer preferences, or other business logic implemented in your Function.\n  \"\"\"\n  move: MoveOperation\n\n  \"\"\"\n  A request to change the displayed name of a payment method during checkout.\n\n  When your Function returns this operation, it replaces the default name of the\n  specified payment method with the custom name that's provided in the request.\n\n  Use this operation when you want to provide more context or clarity about\n  payment methods based on checkout details, locale, or other business logic\n  implemented in your Function.\n  \"\"\"\n  rename: RenameOperation\n}\n\n\"\"\"\nA customization representing how payment methods will be ordered, hidden, or renamed.\n\"\"\"\ntype PaymentCustomization implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\ntype PaymentCustomizationPaymentMethod {\n  \"\"\"\n  Unique identifier for the payment method.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Name for the payment method.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Placements supported by this payment method.\n  Only available for API clients installed on a Shopify Plus store.\n  \"\"\"\n  placements: [PaymentCustomizationPaymentMethodPlacement!]!\n}\n\n\"\"\"\nDescribes how a payment method can be applied at checkout.\nOnly available for API clients installed on a Shopify Plus store.\n\"\"\"\nenum PaymentCustomizationPaymentMethodPlacement {\n  \"\"\"\n  Accelerated checkout button in the Express section of checkout. You can use payment methods to accelerate\n  customers through checkout by prefilling delivery and payment information.\n  \"\"\"\n  ACCELERATED_CHECKOUT\n\n  \"\"\"\n  Payment method can be selected from a list of available payment methods in the payment section of checkout.\n  \"\"\"\n  PAYMENT_METHOD\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nA request to change the displayed name of a payment method during checkout.\n\nWhen your Function returns this operation, it replaces the default name of the\nspecified payment method with the custom name that's provided in the request.\n\nUse this operation when you want to provide more context or clarity about\npayment methods based on checkout details, locale, or other business logic\nimplemented in your Function.\n\"\"\"\ninput RenameOperation {\n  \"\"\"\n  The new name for the payment method.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The identifier of the payment method to rename.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/javascript/payment-customization/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.payment-customization.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "checkout/javascript/payment-customization/default/src/index.liquid",
    "content": "export * from './run';\n"
  },
  {
    "path": "checkout/javascript/payment-customization/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  paymentCustomization {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/javascript/payment-customization/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n// @ts-check\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst NO_CHANGES = {\n  operations: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const configuration = JSON.parse(\n    input?.paymentCustomization?.metafield?.value ?? \"{}\"\n  );\n\n  return NO_CHANGES;\n};\n{%- elsif flavor contains \"typescript\" -%}\nimport type {\n  RunInput,\n  FunctionRunResult,\n} from \"../generated/api\";\n\nconst NO_CHANGES: FunctionRunResult = {\n  operations: [],\n};\n\ntype Configuration = {};\n\nexport function run(input: RunInput): FunctionRunResult {\n  const configuration: Configuration = JSON.parse(\n    input?.paymentCustomization?.metafield?.value ?? \"{}\"\n  );\n  return NO_CHANGES;\n};\n{%- endif -%}\n"
  },
  {
    "path": "checkout/javascript/payment-customization/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\ndescribe('payment customization function', () => {\n  it('returns no operations without configuration', () => {\n    const result = run({\n      paymentCustomization: {\n        metafield: null\n      }\n    });\n    const expected = /** @type {FunctionRunResult} */ ({ operations: [] });\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\nimport { FunctionRunResult } from '../generated/api';\n\ndescribe('payment customization function', () => {\n  it('returns no operations without configuration', () => {\n    const result = run({\n      paymentCustomization: {\n        metafield: null\n      }\n    });\n    const expected: FunctionRunResult = { operations: [] };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- endif -%}\n"
  },
  {
    "path": "checkout/javascript/payment-customization/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "checkout/rust/cart-checkout-validation/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "checkout/rust/cart-checkout-validation/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "checkout/rust/cart-checkout-validation/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/rust/cart-checkout-validation/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\ntype BuyerJourney {\n  step: BuyerJourneyStep\n}\n\n\"\"\"\nA specific stage in the customer's purchasing journey that indicates where the customer is in the checkout\nprocess.\n\"\"\"\nenum BuyerJourneyStep {\n  \"\"\"\n  The customer is interacting with the cart. For example, the customer is adding items to the cart\n  or removing items from the cart.\n  \"\"\"\n  CART_INTERACTION\n\n  \"\"\"\n  The customer is completing checkout. For example, the customer is reviewing their order before\n  finalizing the purchase.\n  \"\"\"\n  CHECKOUT_COMPLETION\n\n  \"\"\"\n  The customer is interacting with checkout. For example, the customer is adding their shipping\n  address or payment information.\n  \"\"\"\n  CHECKOUT_INTERACTION\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA Function error for a path.\n\"\"\"\ninput FunctionError {\n  \"\"\"\n  A description of the validation error. For example, \"The product is out of stock\" or\n  \"The product isn't available for purchase in your region\". The message is localized for the customer.\n  \"\"\"\n  localizedMessage: String!\n\n  \"\"\"\n  The [identifier](https://shopify.dev/docs/api/functions/reference/cart-checkout-validation/graphql#supported-checkout-field-targets)\n  in `shopify.extension.toml` that specifies where you're injecting code in the checkout process.\n  \"\"\"\n  target: String!\n}\n\n\"\"\"\nThe fetch target result. Your Function must return this data structure when generating the request.\n\"\"\"\ninput FunctionFetchResult {\n  \"\"\"\n  The attributes associated with an HTTP request.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the validation errors\nthat display to customers and prevent them from proceeding through checkout. In\nAPI versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The validation errors that block a customer from proceeding through checkout.\n  \"\"\"\n  errors: [FunctionError!]!\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the validation errors\nthat display to customers and prevent them from proceeding through checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The validation errors that block a customer from proceeding through checkout.\n  \"\"\"\n  errors: [FunctionError!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request.\n\"\"\"\ninput HttpRequest {\n  \"\"\"\n  The HTTP request body as a plain string.\n  Use this field when the body isn't in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpRequestHeader!]!\n\n  \"\"\"\n  The HTTP request body as a JSON object.\n  Use this field when the body's in JSON format, to reduce function instruction consumption\n  and to ensure the body's formatted in logs.\n  Don't use this field together with the `body` field. If both are provided, then the `body` field\n  will take precedence.\n  If this field is specified and no `Content-Type` header is included, then the header will\n  automatically be set to `application/json`.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP method.\n  \"\"\"\n  method: HttpRequestMethod!\n\n  \"\"\"\n  Policy attached to the HTTP request.\n  \"\"\"\n  policy: HttpRequestPolicy!\n\n  \"\"\"\n  The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.\n  \"\"\"\n  url: URL!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request header.\n\"\"\"\ninput HttpRequestHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nThe HTTP request available methods.\n\"\"\"\nenum HttpRequestMethod {\n  \"\"\"\n  Http GET.\n  \"\"\"\n  GET\n\n  \"\"\"\n  Http POST.\n  \"\"\"\n  POST\n}\n\n\"\"\"\nThe attributes associated with an HTTP request policy.\n\"\"\"\ninput HttpRequestPolicy {\n  \"\"\"\n  Read timeout in milliseconds.\n  \"\"\"\n  readTimeoutMs: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response.\n\"\"\"\ntype HttpResponse {\n  \"\"\"\n  The HTTP response body as a plain string.\n  Use this field when the body is not in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  An HTTP header.\n  \"\"\"\n  header(\n    \"\"\"\n    A case-insensitive header name.\n    \"\"\"\n    name: String!\n  ): HttpResponseHeader\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpResponseHeader!]! @deprecated(reason: \"Use `header` instead.\")\n\n  \"\"\"\n  The HTTP response body parsed as JSON. \n  If the body is valid JSON, it will be parsed and returned as a JSON object. \n  If parsing fails, then raw body is returned as a string. \n  Use this field when you expect the response to be JSON, or when you're dealing\n  with mixed response types, meaning both JSON and non-JSON.\n  Using this field reduces function instruction consumption and ensures that the data is formatted in logs.\n  To prevent increasing the function target input size unnecessarily, avoid querying\n  both `body` and `jsonBody` simultaneously.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP status code.\n  \"\"\"\n  status: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response header.\n\"\"\"\ntype HttpResponseHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe `Input` object is the complete GraphQL schema that your Function can receive\nas input to validate cart and checkout. Your Function receives only the fields\nthat you request in the input query. To optimize performance, we highly\nrecommend that you request only the fields that your Function requires.\n\"\"\"\ntype Input {\n  \"\"\"\n  Information about the current step in the buyer's purchasing process. The\n  buyer journey helps you determine where the customer is in their shopping\n  experience (for example, cart interaction, checkout interaction, or completing\n  a checkout). You can use this information to apply appropriate validation\n  rules based on the customer's current context and create a more tailored and\n  performant shopping experience.\n  \"\"\"\n  buyerJourney: BuyerJourney!\n\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The `FunctionFetchResult` object is the result of the fetch target. This is\n  the response that Shopify returns after executing the HTTP request defined in\n  your fetch target, and that is passed as input to the run target. For more\n  information, refer to [network access for Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/network-access).\n  \"\"\"\n  fetchResult: HttpResponse @restrictTarget(only: [\"purchase.validation.run\"])\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n\n  \"\"\"\n  The configuration of the app that owns the Function. This configuration\n  controls how merchants can define validation rules for carts and checkout,\n  such as inventory checks, price validations, or custom purchase restrictions.\n  \"\"\"\n  validation: Validation!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the purchase.validation.fetch target.\n  \"\"\"\n  fetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.validation.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nA customization that validates a cart and/or checkout.\n\"\"\"\ntype Validation implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/rust/cart-checkout-validation/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.validation.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [\"src/**/*.rs\"]\n\n"
  },
  {
    "path": "checkout/rust/cart-checkout-validation/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "checkout/rust/cart-checkout-validation/default/src/run.graphql.liquid",
    "content": "query Input {\n  cart {\n    lines {\n      quantity\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/rust/cart-checkout-validation/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[allow(dead_code)]\nstruct Config {}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let mut errors = Vec::new();\n\n    if input\n        .cart\n        .lines\n        .iter()\n        .map(|line| line.quantity)\n        .any(|quantity| quantity > 1)\n    {\n        errors.push(output::FunctionError {\n            localized_message: \"Not possible to order more than one of each\".to_owned(),\n            target: \"$.cart\".to_owned(),\n        })\n    }\n    Ok(output::FunctionRunResult { errors })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_result_contains_single_error_when_quantity_exceeds_one() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"lines\": [\n                            {\n                                \"quantity\": 3\n                            }\n                        ]\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult {\n            errors: vec![FunctionError {\n                localized_message: \"Not possible to order more than one of each\".to_owned(),\n                target: \"$.cart\".to_owned(),\n            }],\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n\n    #[test]\n    fn test_result_contains_no_errors_when_quantity_is_one() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"lines\": [\n                            {\n                                \"quantity\": 1\n                            }\n                        ]\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult { errors: vec![] };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "checkout/rust/cart-transform/bundles/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "checkout/rust/cart-transform/bundles/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "checkout/rust/cart-transform/bundles/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/rust/cart-transform/bundles/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/rust/cart-transform/bundles/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/bundles_cart_transform.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "checkout/rust/cart-transform/bundles/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "checkout/rust/cart-transform/bundles/src/run.graphql.liquid",
    "content": "query Input {\n  cart {\n    lines {\n      id\n      quantity\n      merchandise {\n        __typename\n        ... on ProductVariant {\n          id\n          component_parents: metafield(\n            namespace: \"custom\"\n            key: \"component_parents\"\n          ) {\n            value\n          }\n          component_reference: metafield(\n            namespace: \"custom\"\n            key: \"component_reference\"\n          ) {\n            value\n          }\n          component_quantities: metafield(\n            namespace: \"custom\"\n            key: \"component_quantities\"\n          ) {\n            value\n          }\n          price_adjustment: metafield(\n            namespace: \"custom\"\n            key: \"price_adjustment\"\n          ) {\n            value\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/rust/cart-transform/bundles/src/run.rs",
    "content": "use run::input::InputCart as Cart;\nuse run::input::InputCartLinesMerchandise::ProductVariant;\nuse run::input::InputCartLinesMerchandiseOnProductVariant;\nuse run::output::CartLineInput;\nuse run::output::CartOperation;\nuse run::output::ExpandOperation;\nuse run::output::ExpandedItem;\nuse run::output::MergeOperation;\nuse run::output::PriceAdjustment;\nuse run::output::PriceAdjustmentValue;\nuse serde::Deserialize;\nuse shopify_function::prelude::*;\nuse shopify_function::Result;\n\n#[allow(clippy::upper_case_acronyms)]\ntype URL = String;\n\n#[derive(Clone, Debug, PartialEq)]\nstruct ComponentParent {\n    pub id: ID,\n    pub component_reference: Vec<ID>,\n    pub component_quantities: Vec<i64>,\n    pub price_adjustment: Option<f64>,\n}\n\n#[derive(Clone, Debug, Deserialize)]\npub struct ComponentParentMetafield {\n    pub id: ID,\n    pub component_reference: ComponentParentMetafieldReference,\n    pub component_quantities: ComponentParentMetafieldQuantities,\n    pub price_adjustment: Option<ComponentParentMetafieldPriceAdjustment>,\n}\n\n#[derive(Clone, Debug, Deserialize)]\npub struct ComponentParentMetafieldReference {\n    pub value: Vec<String>,\n}\n\n#[derive(Clone, Debug, Deserialize)]\npub struct ComponentParentMetafieldQuantities {\n    pub value: Vec<i64>,\n}\n\n#[derive(Clone, Debug, Deserialize)]\npub struct ComponentParentMetafieldPriceAdjustment {\n    pub value: f64,\n}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let cart_operations: Vec<CartOperation> = get_merge_cart_operations(&input.cart)\n        .chain(get_expand_cart_operations(&input.cart))\n        .collect();\n\n    Ok(output::FunctionRunResult {\n        operations: cart_operations,\n    })\n}\n\n// merge operation logic\n\nfn get_merge_cart_operations(cart: &Cart) -> impl Iterator<Item = CartOperation> + '_ {\n    let merge_parent_defintions = get_merge_parent_definitions(cart);\n    merge_parent_defintions\n        .into_iter()\n        .filter_map(|definition| {\n            let components_in_cart = get_components_in_cart(cart, &definition);\n            (components_in_cart.len() == definition.component_reference.len()).then(|| {\n                let cart_lines: Vec<CartLineInput> = components_in_cart\n                    .into_iter()\n                    .map(|component| CartLineInput {\n                        cart_line_id: component.cart_line_id,\n                        quantity: component.quantity,\n                    })\n                    .collect();\n\n                let price = definition\n                    .price_adjustment\n                    .map(|price_adjustment| PriceAdjustment {\n                        percentage_decrease: Some(PriceAdjustmentValue {\n                            value: Decimal(price_adjustment),\n                        }),\n                    });\n\n                CartOperation::Merge(MergeOperation {\n                    parent_variant_id: definition.id,\n                    title: None,\n                    cart_lines,\n                    image: None,\n                    price,\n                    attributes: None,\n                })\n            })\n        })\n}\n\nfn get_components_in_cart(cart: &Cart, definition: &ComponentParent) -> Vec<CartLineInput> {\n    definition\n        .component_reference\n        .iter()\n        .zip(definition.component_quantities.iter())\n        .filter_map(|(reference, &quantity)| {\n            cart.lines.iter().find_map(move |line| {\n                matches!(\n                    &line.merchandise,\n                    ProductVariant(merchandise) if reference == &merchandise.id && line.quantity >= quantity,\n                ).then(|| CartLineInput { cart_line_id: line.id.clone(), quantity })\n            })\n        })\n        .collect()\n}\n\nfn get_merge_parent_definitions(cart: &Cart) -> Vec<ComponentParent> {\n    let mut merge_parent_defintions: Vec<ComponentParent> = Vec::new();\n\n    for line in cart.lines.iter() {\n        if let ProductVariant(merchandise) = &line.merchandise {\n            merge_parent_defintions.extend(get_component_parents(merchandise));\n        }\n    }\n\n    merge_parent_defintions.dedup_by(|a, b| a.id == b.id);\n    merge_parent_defintions\n}\n\nfn get_component_parents(\n    variant: &InputCartLinesMerchandiseOnProductVariant,\n) -> impl Iterator<Item = ComponentParent> {\n    variant\n        .component_parents\n        .as_ref()\n        .map(|component_parents_metafield| {\n            let value: Vec<ComponentParentMetafield> =\n                serde_json::from_str(&component_parents_metafield.value).unwrap();\n            value.into_iter().map(|parent_definition| {\n                let price = parent_definition\n                    .price_adjustment\n                    .as_ref()\n                    .map(|price_adjustment| price_adjustment.value);\n\n                ComponentParent {\n                    id: parent_definition.id,\n                    component_reference: parent_definition.component_reference.value,\n                    component_quantities: parent_definition.component_quantities.value,\n                    price_adjustment: price,\n                }\n            })\n        })\n        .into_iter()\n        .flatten()\n}\n\n// expand operation logic\n\nfn get_expand_cart_operations(cart: &Cart) -> impl Iterator<Item = CartOperation> + '_ {\n    cart.lines.iter().filter_map(|line| {\n        if let ProductVariant(merchandise) = &line.merchandise {\n            let component_references: Vec<ID> = get_component_references(merchandise);\n            let component_quantities: Vec<i64> = get_component_quantities(merchandise);\n\n            if component_references.is_empty()\n                || component_references.len() != component_quantities.len()\n            {\n                None\n            } else {\n                let expand_relationships: Vec<ExpandedItem> = component_references\n                    .into_iter()\n                    .zip(component_quantities.iter())\n                    .map(|(reference, &quantity)| ExpandedItem {\n                        merchandise_id: reference,\n                        quantity,\n                        price: None,\n                        attributes: None,\n                    })\n                    .collect();\n\n                let price = get_price_adjustment(merchandise);\n\n                CartOperation::Expand(ExpandOperation {\n                    cart_line_id: line.id.clone(),\n                    expanded_cart_items: expand_relationships,\n                    price,\n                    image: None,\n                    title: None,\n                })\n                .into()\n            }\n        } else {\n            None\n        }\n    })\n}\n\nfn get_component_quantities(variant: &InputCartLinesMerchandiseOnProductVariant) -> Vec<i64> {\n    if let Some(component_quantities_metafield) = &variant.component_quantities {\n        serde_json::from_str(&component_quantities_metafield.value).unwrap()\n    } else {\n        Vec::new()\n    }\n}\n\nfn get_component_references(variant: &InputCartLinesMerchandiseOnProductVariant) -> Vec<ID> {\n    if let Some(component_reference_metafield) = &variant.component_reference {\n        serde_json::from_str(&component_reference_metafield.value).unwrap()\n    } else {\n        Vec::new()\n    }\n}\n\nfn get_price_adjustment(\n    variant: &InputCartLinesMerchandiseOnProductVariant,\n) -> Option<PriceAdjustment> {\n    variant\n        .price_adjustment\n        .as_ref()\n        .map(|price_adjustment| PriceAdjustment {\n            percentage_decrease: Some(PriceAdjustmentValue {\n                value: Decimal(price_adjustment.value.parse().unwrap()),\n            }),\n        })\n}\n"
  },
  {
    "path": "checkout/rust/cart-transform/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "checkout/rust/cart-transform/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "checkout/rust/cart-transform/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/rust/cart-transform/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/rust/cart-transform/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "checkout/rust/cart-transform/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "checkout/rust/cart-transform/default/src/run.graphql.liquid",
    "content": "query Input {\n  cart {\n    lines {\n      id\n      quantity\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/rust/cart-transform/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\n#[allow(clippy::upper_case_acronyms)]\ntype URL = String;\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(_input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let no_changes = output::FunctionRunResult { operations: vec![] };\n\n    Ok(no_changes)\n}\n"
  },
  {
    "path": "checkout/rust/delivery-customization/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "checkout/rust/delivery-customization/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "checkout/rust/delivery-customization/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/rust/delivery-customization/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA customization representing how delivery options will be ordered, hidden, or renamed.\n\"\"\"\ntype DeliveryCustomization implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply to delivery options in checkout. In\nAPI versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of\n  [delivery options](https://shopify.dev/docs/apps/build/checkout/delivery-shipping/delivery-options/build-function).\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply to delivery options in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of\n  [delivery options](https://shopify.dev/docs/apps/build/checkout/delivery-shipping/delivery-options/build-function).\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nAn operation that hides a delivery option from a list that's offered to customers at checkout.\n\"\"\"\ninput HideOperation {\n  \"\"\"\n  The handle of the delivery option to hide.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function is running to define how\n  [delivery options](https://shopify.dev/apps/build/checkout/delivery-shipping/delivery-options/build-function)\n  are sorted, hidden, or renamed. It includes the\n  [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  deliveryCustomization: DeliveryCustomization!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nAn operation that sorts a list of delivery options that are offered to customers at checkout.\n\nIf you reorder shipping delivery options, then you are\n[prohibited](https://shopify.dev/docs/apps/launch/app-requirements-checklist#prohibited-app-types).\nfrom automatically selecting higher-priced delivery alternatives by default. The cheapest shipping delivery option\nmust always be the first option selected.\n\"\"\"\ninput MoveOperation {\n  \"\"\"\n  The handle of the delivery option to move.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n\n  \"\"\"\n  The target index within the delivery group to move the delivery option to.\n  \"\"\"\n  index: Int!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.delivery-customization.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the list of delivery options.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  An operation that hides a delivery option from a list that's offered to customers at checkout.\n  \"\"\"\n  hide: HideOperation\n\n  \"\"\"\n  An operation that sorts a list of delivery options that are offered to customers at checkout.\n\n  If you reorder shipping delivery options, then you are\n  [prohibited](https://shopify.dev/docs/apps/launch/app-requirements-checklist#prohibited-app-types).\n  from automatically selecting higher-priced delivery alternatives by default. The cheapest shipping delivery option\n  must always be the first option selected.\n  \"\"\"\n  move: MoveOperation\n\n  \"\"\"\n  An operation that renames a delivery option that's offered to customers at checkout.\n\n  The carrier name is automatically prepended to the delivery option title at checkout when using the\n  `RenameOperation` object, and can't be altered or omitted through the API. For example, if the carrier name\n  is **UPS** and the option is **Standard**, then you could change **UPS Standard** to **UPS Standard Shipping**,\n  but you couldn't change **UPS Standard** to **Standard Shipping**.\n  \"\"\"\n  rename: RenameOperation\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nAn operation that renames a delivery option that's offered to customers at checkout.\n\nThe carrier name is automatically prepended to the delivery option title at checkout when using the\n`RenameOperation` object, and can't be altered or omitted through the API. For example, if the carrier name\nis **UPS** and the option is **Standard**, then you could change **UPS Standard** to **UPS Standard Shipping**,\nbut you couldn't change **UPS Standard** to **Standard Shipping**.\n\"\"\"\ninput RenameOperation {\n  \"\"\"\n  The handle of the delivery option to rename.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n\n  \"\"\"\n  The new name for the delivery option.\n  \"\"\"\n  title: String!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/rust/delivery-customization/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.delivery-customization.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "checkout/rust/delivery-customization/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "checkout/rust/delivery-customization/default/src/run.graphql.liquid",
    "content": "query Input {\n  deliveryCustomization {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/rust/delivery-customization/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[serde(rename_all(deserialize = \"camelCase\"))]\nstruct Configuration {}\n\nimpl Configuration {\n    fn from_str(value: &str) -> Self {\n        serde_json::from_str(value).expect(\"Unable to parse configuration value from metafield\")\n    }\n}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let no_changes = output::FunctionRunResult { operations: vec![] };\n\n    let _config = match input.delivery_customization.metafield {\n        Some(input::InputDeliveryCustomizationMetafield { value }) => {\n            Configuration::from_str(&value)\n        }\n        None => return Ok(no_changes),\n    };\n\n    Ok(output::FunctionRunResult { operations: vec![] })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_result_contains_no_operations() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"deliveryCustomization\": {\n                        \"metafield\": null\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult { operations: vec![] };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "checkout/rust/payment-customization/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "checkout/rust/payment-customization/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "checkout/rust/payment-customization/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/rust/payment-customization/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to\napply to payment methods in checkout. In API versions 2023-10 and beyond, this\ntype is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of payment methods.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to apply to payment methods in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of payment methods.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nA request to hide a payment method during checkout.\n\nWhen your Function returns this operation, it removes the specified payment method\nfrom the available options shown to customers during checkout.\n\nUse this operation when you want to conditionally hide payment methods based on\ncheckout attributes, customer data, or other business logic implemented in your Function.\n\"\"\"\ninput HideOperation {\n  \"\"\"\n  The identifier of the payment method to hide out.\n  \"\"\"\n  paymentMethodId: ID!\n\n  \"\"\"\n  Placement types to hide. If not provided, all placements will be hidden.\n  \"\"\"\n  placements: [PaymentCustomizationPaymentMethodPlacement!]\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe `Input` object is the complete GraphQL schema that your Function can query\nas an input to customize the payment methods that are available to customers\nduring checkout. Your Function receives only the fields that you request in the\ninput query. To optimize performance, we highly recommend that you request only\nthe fields that your function requires.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The configuration of the app that owns the Function. This configuration\n  controls how merchants can modify [payment methods](https://help.shopify.com/manual/checkout-settings/checkout-customization),\n  such as renaming, reordering, or hiding them.\n  \"\"\"\n  paymentCustomization: PaymentCustomization!\n\n  \"\"\"\n  The list of payment methods that are available to customers during checkout that your Function can customize.\n  \"\"\"\n  paymentMethods: [PaymentCustomizationPaymentMethod!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nA request to move a payment method to a new position in the checkout display order.\n\nWhen your Function returns this operation, it changes the display order of payment methods\nby placing the specified payment method at the requested index position.\n\nUse this operation when you want to prioritize certain payment methods based on\ncheckout context, customer preferences, or other business logic implemented in your Function.\n\"\"\"\ninput MoveOperation {\n  \"\"\"\n  The index to move the payment method to.\n  \"\"\"\n  index: Int!\n\n  \"\"\"\n  The identifier of the payment method to move.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.payment-customization.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the list of payment methods.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  A request to hide a payment method during checkout.\n\n  When your Function returns this operation, it removes the specified payment method\n  from the available options shown to customers during checkout.\n\n  Use this operation when you want to conditionally hide payment methods based on\n  checkout attributes, customer data, or other business logic implemented in your Function.\n  \"\"\"\n  hide: HideOperation\n\n  \"\"\"\n  A request to move a payment method to a new position in the checkout display order.\n\n  When your Function returns this operation, it changes the display order of payment methods\n  by placing the specified payment method at the requested index position.\n\n  Use this operation when you want to prioritize certain payment methods based on\n  checkout context, customer preferences, or other business logic implemented in your Function.\n  \"\"\"\n  move: MoveOperation\n\n  \"\"\"\n  A request to change the displayed name of a payment method during checkout.\n\n  When your Function returns this operation, it replaces the default name of the\n  specified payment method with the custom name that's provided in the request.\n\n  Use this operation when you want to provide more context or clarity about\n  payment methods based on checkout details, locale, or other business logic\n  implemented in your Function.\n  \"\"\"\n  rename: RenameOperation\n}\n\n\"\"\"\nA customization representing how payment methods will be ordered, hidden, or renamed.\n\"\"\"\ntype PaymentCustomization implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\ntype PaymentCustomizationPaymentMethod {\n  \"\"\"\n  Unique identifier for the payment method.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Name for the payment method.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Placements supported by this payment method.\n  Only available for API clients installed on a Shopify Plus store.\n  \"\"\"\n  placements: [PaymentCustomizationPaymentMethodPlacement!]!\n}\n\n\"\"\"\nDescribes how a payment method can be applied at checkout.\nOnly available for API clients installed on a Shopify Plus store.\n\"\"\"\nenum PaymentCustomizationPaymentMethodPlacement {\n  \"\"\"\n  Accelerated checkout button in the Express section of checkout. You can use payment methods to accelerate\n  customers through checkout by prefilling delivery and payment information.\n  \"\"\"\n  ACCELERATED_CHECKOUT\n\n  \"\"\"\n  Payment method can be selected from a list of available payment methods in the payment section of checkout.\n  \"\"\"\n  PAYMENT_METHOD\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nA request to change the displayed name of a payment method during checkout.\n\nWhen your Function returns this operation, it replaces the default name of the\nspecified payment method with the custom name that's provided in the request.\n\nUse this operation when you want to provide more context or clarity about\npayment methods based on checkout details, locale, or other business logic\nimplemented in your Function.\n\"\"\"\ninput RenameOperation {\n  \"\"\"\n  The new name for the payment method.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The identifier of the payment method to rename.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/rust/payment-customization/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.payment-customization.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "checkout/rust/payment-customization/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "checkout/rust/payment-customization/default/src/run.graphql.liquid",
    "content": "query Input {\n  paymentCustomization {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/rust/payment-customization/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[serde(rename_all(deserialize = \"camelCase\"))]\nstruct Configuration {}\n\nimpl Configuration {\n    fn from_str(value: &str) -> Self {\n        serde_json::from_str(value).expect(\"Unable to parse configuration value from metafield\")\n    }\n}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let no_changes = output::FunctionRunResult { operations: vec![] };\n\n    let _config = match input.payment_customization.metafield {\n        Some(input::InputPaymentCustomizationMetafield { value }) => {\n            Configuration::from_str(&value)\n        }\n        None => return Ok(no_changes),\n    };\n\n    Ok(output::FunctionRunResult { operations: vec![] })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_result_contains_no_operations() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"paymentCustomization\": {\n                        \"metafield\": null\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult { operations: vec![] };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "checkout/wasm/cart-checkout-validation/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/wasm/cart-checkout-validation/default/run.graphql.liquid",
    "content": "query Input {\n  cart {\n    lines {\n      quantity\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/wasm/cart-checkout-validation/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\ntype BuyerJourney {\n  step: BuyerJourneyStep\n}\n\n\"\"\"\nA specific stage in the customer's purchasing journey that indicates where the customer is in the checkout\nprocess.\n\"\"\"\nenum BuyerJourneyStep {\n  \"\"\"\n  The customer is interacting with the cart. For example, the customer is adding items to the cart\n  or removing items from the cart.\n  \"\"\"\n  CART_INTERACTION\n\n  \"\"\"\n  The customer is completing checkout. For example, the customer is reviewing their order before\n  finalizing the purchase.\n  \"\"\"\n  CHECKOUT_COMPLETION\n\n  \"\"\"\n  The customer is interacting with checkout. For example, the customer is adding their shipping\n  address or payment information.\n  \"\"\"\n  CHECKOUT_INTERACTION\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA Function error for a path.\n\"\"\"\ninput FunctionError {\n  \"\"\"\n  A description of the validation error. For example, \"The product is out of stock\" or\n  \"The product isn't available for purchase in your region\". The message is localized for the customer.\n  \"\"\"\n  localizedMessage: String!\n\n  \"\"\"\n  The [identifier](https://shopify.dev/docs/api/functions/reference/cart-checkout-validation/graphql#supported-checkout-field-targets)\n  in `shopify.extension.toml` that specifies where you're injecting code in the checkout process.\n  \"\"\"\n  target: String!\n}\n\n\"\"\"\nThe fetch target result. Your Function must return this data structure when generating the request.\n\"\"\"\ninput FunctionFetchResult {\n  \"\"\"\n  The attributes associated with an HTTP request.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the validation errors\nthat display to customers and prevent them from proceeding through checkout. In\nAPI versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The validation errors that block a customer from proceeding through checkout.\n  \"\"\"\n  errors: [FunctionError!]!\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the validation errors\nthat display to customers and prevent them from proceeding through checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The validation errors that block a customer from proceeding through checkout.\n  \"\"\"\n  errors: [FunctionError!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request.\n\"\"\"\ninput HttpRequest {\n  \"\"\"\n  The HTTP request body as a plain string.\n  Use this field when the body isn't in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpRequestHeader!]!\n\n  \"\"\"\n  The HTTP request body as a JSON object.\n  Use this field when the body's in JSON format, to reduce function instruction consumption\n  and to ensure the body's formatted in logs.\n  Don't use this field together with the `body` field. If both are provided, then the `body` field\n  will take precedence.\n  If this field is specified and no `Content-Type` header is included, then the header will\n  automatically be set to `application/json`.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP method.\n  \"\"\"\n  method: HttpRequestMethod!\n\n  \"\"\"\n  Policy attached to the HTTP request.\n  \"\"\"\n  policy: HttpRequestPolicy!\n\n  \"\"\"\n  The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.\n  \"\"\"\n  url: URL!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request header.\n\"\"\"\ninput HttpRequestHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nThe HTTP request available methods.\n\"\"\"\nenum HttpRequestMethod {\n  \"\"\"\n  Http GET.\n  \"\"\"\n  GET\n\n  \"\"\"\n  Http POST.\n  \"\"\"\n  POST\n}\n\n\"\"\"\nThe attributes associated with an HTTP request policy.\n\"\"\"\ninput HttpRequestPolicy {\n  \"\"\"\n  Read timeout in milliseconds.\n  \"\"\"\n  readTimeoutMs: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response.\n\"\"\"\ntype HttpResponse {\n  \"\"\"\n  The HTTP response body as a plain string.\n  Use this field when the body is not in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  An HTTP header.\n  \"\"\"\n  header(\n    \"\"\"\n    A case-insensitive header name.\n    \"\"\"\n    name: String!\n  ): HttpResponseHeader\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpResponseHeader!]! @deprecated(reason: \"Use `header` instead.\")\n\n  \"\"\"\n  The HTTP response body parsed as JSON. \n  If the body is valid JSON, it will be parsed and returned as a JSON object. \n  If parsing fails, then raw body is returned as a string. \n  Use this field when you expect the response to be JSON, or when you're dealing\n  with mixed response types, meaning both JSON and non-JSON.\n  Using this field reduces function instruction consumption and ensures that the data is formatted in logs.\n  To prevent increasing the function target input size unnecessarily, avoid querying\n  both `body` and `jsonBody` simultaneously.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP status code.\n  \"\"\"\n  status: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response header.\n\"\"\"\ntype HttpResponseHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe `Input` object is the complete GraphQL schema that your Function can receive\nas input to validate cart and checkout. Your Function receives only the fields\nthat you request in the input query. To optimize performance, we highly\nrecommend that you request only the fields that your Function requires.\n\"\"\"\ntype Input {\n  \"\"\"\n  Information about the current step in the buyer's purchasing process. The\n  buyer journey helps you determine where the customer is in their shopping\n  experience (for example, cart interaction, checkout interaction, or completing\n  a checkout). You can use this information to apply appropriate validation\n  rules based on the customer's current context and create a more tailored and\n  performant shopping experience.\n  \"\"\"\n  buyerJourney: BuyerJourney!\n\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The `FunctionFetchResult` object is the result of the fetch target. This is\n  the response that Shopify returns after executing the HTTP request defined in\n  your fetch target, and that is passed as input to the run target. For more\n  information, refer to [network access for Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/network-access).\n  \"\"\"\n  fetchResult: HttpResponse @restrictTarget(only: [\"purchase.validation.run\"])\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n\n  \"\"\"\n  The configuration of the app that owns the Function. This configuration\n  controls how merchants can define validation rules for carts and checkout,\n  such as inventory checks, price validations, or custom purchase restrictions.\n  \"\"\"\n  validation: Validation!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the purchase.validation.fetch target.\n  \"\"\"\n  fetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.validation.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nA customization that validates a cart and/or checkout.\n\"\"\"\ntype Validation implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/wasm/cart-checkout-validation/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.validation.run\"\n  input_query = \"run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n"
  },
  {
    "path": "checkout/wasm/cart-transform/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/wasm/cart-transform/default/run.graphql.liquid",
    "content": "query Input {\n  cart {\n    lines {\n      id\n      quantity\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/wasm/cart-transform/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/wasm/cart-transform/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "checkout/wasm/delivery-customization/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/wasm/delivery-customization/default/run.graphql.liquid",
    "content": "query Input {\n  deliveryCustomization {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/wasm/delivery-customization/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA customization representing how delivery options will be ordered, hidden, or renamed.\n\"\"\"\ntype DeliveryCustomization implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply to delivery options in checkout. In\nAPI versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of\n  [delivery options](https://shopify.dev/docs/apps/build/checkout/delivery-shipping/delivery-options/build-function).\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply to delivery options in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of\n  [delivery options](https://shopify.dev/docs/apps/build/checkout/delivery-shipping/delivery-options/build-function).\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nAn operation that hides a delivery option from a list that's offered to customers at checkout.\n\"\"\"\ninput HideOperation {\n  \"\"\"\n  The handle of the delivery option to hide.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function is running to define how\n  [delivery options](https://shopify.dev/apps/build/checkout/delivery-shipping/delivery-options/build-function)\n  are sorted, hidden, or renamed. It includes the\n  [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  deliveryCustomization: DeliveryCustomization!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nAn operation that sorts a list of delivery options that are offered to customers at checkout.\n\nIf you reorder shipping delivery options, then you are\n[prohibited](https://shopify.dev/docs/apps/launch/app-requirements-checklist#prohibited-app-types).\nfrom automatically selecting higher-priced delivery alternatives by default. The cheapest shipping delivery option\nmust always be the first option selected.\n\"\"\"\ninput MoveOperation {\n  \"\"\"\n  The handle of the delivery option to move.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n\n  \"\"\"\n  The target index within the delivery group to move the delivery option to.\n  \"\"\"\n  index: Int!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.delivery-customization.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the list of delivery options.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  An operation that hides a delivery option from a list that's offered to customers at checkout.\n  \"\"\"\n  hide: HideOperation\n\n  \"\"\"\n  An operation that sorts a list of delivery options that are offered to customers at checkout.\n\n  If you reorder shipping delivery options, then you are\n  [prohibited](https://shopify.dev/docs/apps/launch/app-requirements-checklist#prohibited-app-types).\n  from automatically selecting higher-priced delivery alternatives by default. The cheapest shipping delivery option\n  must always be the first option selected.\n  \"\"\"\n  move: MoveOperation\n\n  \"\"\"\n  An operation that renames a delivery option that's offered to customers at checkout.\n\n  The carrier name is automatically prepended to the delivery option title at checkout when using the\n  `RenameOperation` object, and can't be altered or omitted through the API. For example, if the carrier name\n  is **UPS** and the option is **Standard**, then you could change **UPS Standard** to **UPS Standard Shipping**,\n  but you couldn't change **UPS Standard** to **Standard Shipping**.\n  \"\"\"\n  rename: RenameOperation\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nAn operation that renames a delivery option that's offered to customers at checkout.\n\nThe carrier name is automatically prepended to the delivery option title at checkout when using the\n`RenameOperation` object, and can't be altered or omitted through the API. For example, if the carrier name\nis **UPS** and the option is **Standard**, then you could change **UPS Standard** to **UPS Standard Shipping**,\nbut you couldn't change **UPS Standard** to **Standard Shipping**.\n\"\"\"\ninput RenameOperation {\n  \"\"\"\n  The handle of the delivery option to rename.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n\n  \"\"\"\n  The new name for the delivery option.\n  \"\"\"\n  title: String!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/wasm/delivery-customization/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.delivery-customization.run\"\n  input_query = \"run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "checkout/wasm/payment-customization/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "checkout/wasm/payment-customization/default/run.graphql.liquid",
    "content": "query Input {\n  paymentCustomization {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "checkout/wasm/payment-customization/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to\napply to payment methods in checkout. In API versions 2023-10 and beyond, this\ntype is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of payment methods.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to apply to payment methods in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of payment methods.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nA request to hide a payment method during checkout.\n\nWhen your Function returns this operation, it removes the specified payment method\nfrom the available options shown to customers during checkout.\n\nUse this operation when you want to conditionally hide payment methods based on\ncheckout attributes, customer data, or other business logic implemented in your Function.\n\"\"\"\ninput HideOperation {\n  \"\"\"\n  The identifier of the payment method to hide out.\n  \"\"\"\n  paymentMethodId: ID!\n\n  \"\"\"\n  Placement types to hide. If not provided, all placements will be hidden.\n  \"\"\"\n  placements: [PaymentCustomizationPaymentMethodPlacement!]\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe `Input` object is the complete GraphQL schema that your Function can query\nas an input to customize the payment methods that are available to customers\nduring checkout. Your Function receives only the fields that you request in the\ninput query. To optimize performance, we highly recommend that you request only\nthe fields that your function requires.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The configuration of the app that owns the Function. This configuration\n  controls how merchants can modify [payment methods](https://help.shopify.com/manual/checkout-settings/checkout-customization),\n  such as renaming, reordering, or hiding them.\n  \"\"\"\n  paymentCustomization: PaymentCustomization!\n\n  \"\"\"\n  The list of payment methods that are available to customers during checkout that your Function can customize.\n  \"\"\"\n  paymentMethods: [PaymentCustomizationPaymentMethod!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nA request to move a payment method to a new position in the checkout display order.\n\nWhen your Function returns this operation, it changes the display order of payment methods\nby placing the specified payment method at the requested index position.\n\nUse this operation when you want to prioritize certain payment methods based on\ncheckout context, customer preferences, or other business logic implemented in your Function.\n\"\"\"\ninput MoveOperation {\n  \"\"\"\n  The index to move the payment method to.\n  \"\"\"\n  index: Int!\n\n  \"\"\"\n  The identifier of the payment method to move.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.payment-customization.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the list of payment methods.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  A request to hide a payment method during checkout.\n\n  When your Function returns this operation, it removes the specified payment method\n  from the available options shown to customers during checkout.\n\n  Use this operation when you want to conditionally hide payment methods based on\n  checkout attributes, customer data, or other business logic implemented in your Function.\n  \"\"\"\n  hide: HideOperation\n\n  \"\"\"\n  A request to move a payment method to a new position in the checkout display order.\n\n  When your Function returns this operation, it changes the display order of payment methods\n  by placing the specified payment method at the requested index position.\n\n  Use this operation when you want to prioritize certain payment methods based on\n  checkout context, customer preferences, or other business logic implemented in your Function.\n  \"\"\"\n  move: MoveOperation\n\n  \"\"\"\n  A request to change the displayed name of a payment method during checkout.\n\n  When your Function returns this operation, it replaces the default name of the\n  specified payment method with the custom name that's provided in the request.\n\n  Use this operation when you want to provide more context or clarity about\n  payment methods based on checkout details, locale, or other business logic\n  implemented in your Function.\n  \"\"\"\n  rename: RenameOperation\n}\n\n\"\"\"\nA customization representing how payment methods will be ordered, hidden, or renamed.\n\"\"\"\ntype PaymentCustomization implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\ntype PaymentCustomizationPaymentMethod {\n  \"\"\"\n  Unique identifier for the payment method.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Name for the payment method.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Placements supported by this payment method.\n  Only available for API clients installed on a Shopify Plus store.\n  \"\"\"\n  placements: [PaymentCustomizationPaymentMethodPlacement!]!\n}\n\n\"\"\"\nDescribes how a payment method can be applied at checkout.\nOnly available for API clients installed on a Shopify Plus store.\n\"\"\"\nenum PaymentCustomizationPaymentMethodPlacement {\n  \"\"\"\n  Accelerated checkout button in the Express section of checkout. You can use payment methods to accelerate\n  customers through checkout by prefilling delivery and payment information.\n  \"\"\"\n  ACCELERATED_CHECKOUT\n\n  \"\"\"\n  Payment method can be selected from a list of available payment methods in the payment section of checkout.\n  \"\"\"\n  PAYMENT_METHOD\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nA request to change the displayed name of a payment method during checkout.\n\nWhen your Function returns this operation, it replaces the default name of the\nspecified payment method with the custom name that's provided in the request.\n\nUse this operation when you want to provide more context or clarity about\npayment methods based on checkout details, locale, or other business logic\nimplemented in your Function.\n\"\"\"\ninput RenameOperation {\n  \"\"\"\n  The new name for the payment method.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The identifier of the payment method to rename.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "checkout/wasm/payment-customization/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.payment-customization.run\"\n  input_query = \"run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/javascript/discount/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/javascript/discount/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/discount/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA discount code that is associated with a discount candidate.\n\"\"\"\ninput AssociatedDiscountCode {\n  \"\"\"\n  The discount code.\n  \"\"\"\n  code: String!\n}\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart.delivery-options.discounts.generate.fetch target result. Refer to [network access](https://shopify.dev/apps/build/functions/input-output/network-access/graphql)\nfor Shopify Functions.\n\"\"\"\ninput CartDeliveryOptionsDiscountsGenerateFetchResult {\n  \"\"\"\n  The attributes associated with an HTTP request.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe cart.delivery-options.discounts.generate.run target result.\n\"\"\"\ninput CartDeliveryOptionsDiscountsGenerateRunResult {\n  \"\"\"\n  An ordered list of operations to generate delivery discounts, such as validating and applying discounts to the cart.\n  \"\"\"\n  operations: [DeliveryOperation!]!\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nThe condition for checking the minimum quantity of products across a group of cart lines.\n\"\"\"\ninput CartLineMinimumQuantity {\n  \"\"\"\n  Cart line IDs with a merchandise line price that's included to calculate the\n  minimum quantity purchased to receive the discount.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum quantity of a cart line to be eligible for a discount candidate.\n  \"\"\"\n  minimumQuantity: Int!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal of products across a group of cart lines.\n\"\"\"\ninput CartLineMinimumSubtotal {\n  \"\"\"\n  Cart line IDs with a merchandise line price that's included to calculate the\n  minimum subtotal purchased to receive the discount.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the cart line to be eligible for a discount candidate.\n  \"\"\"\n  minimumAmount: Decimal!\n}\n\n\"\"\"\nA method for applying a discount to a specific line item in the cart. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ninput CartLineTarget {\n  \"\"\"\n  The ID of the targeted cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The number of line items that are being discounted.\n  The default value is `null`, which represents the quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe cart.lines.discounts.generate.fetch target result. Refer to [network access](https://shopify.dev/apps/build/functions/input-output/network-access/graphql)\nfor Shopify Functions.\n\"\"\"\ninput CartLinesDiscountsGenerateFetchResult {\n  \"\"\"\n  The HTTP request object.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe cart.lines.discounts.generate.run target result.\n\"\"\"\ninput CartLinesDiscountsGenerateRunResult {\n  \"\"\"\n  The list of operations to apply discounts to the cart.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe operations that can be performed to apply discounts to the cart.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that selects which entered discount codes to accept. Use this to\n  validate discount codes from external systems.\n  \"\"\"\n  enteredDiscountCodesAccept: EnteredDiscountCodesAcceptOperation\n\n  \"\"\"\n  An operation that applies order discounts to a cart that share a selection strategy.\n  \"\"\"\n  orderDiscountsAdd: OrderDiscountsAddOperation\n\n  \"\"\"\n  An operation that applies product discounts to a cart that share a selection strategy.\n  \"\"\"\n  productDiscountsAdd: ProductDiscountsAddOperation\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe conditions that satisfy the discount candidate to be applied to a cart line.\n\"\"\"\ninput Condition @oneOf {\n  \"\"\"\n  The condition for checking the minimum quantity of products across a group of cart lines.\n  \"\"\"\n  cartLineMinimumQuantity: CartLineMinimumQuantity\n\n  \"\"\"\n  The condition for checking the minimum subtotal of products across a group of cart lines.\n  \"\"\"\n  cartLineMinimumSubtotal: CartLineMinimumSubtotal\n\n  \"\"\"\n  The condition for checking the minimum subtotal amount of the order.\n  \"\"\"\n  orderMinimumSubtotal: OrderMinimumSubtotal\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nThe discount that's eligible to be applied to a delivery.\n\"\"\"\ninput DeliveryDiscountCandidate {\n  \"\"\"\n  The discount code that's eligible to be applied to a delivery.\n  \"\"\"\n  associatedDiscountCode: AssociatedDiscountCode\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The targets of the discount that are eligible to be applied to a delivery.\n  \"\"\"\n  targets: [DeliveryDiscountCandidateTarget!]!\n\n  \"\"\"\n  The value of the discount that's eligible to be applied to a delivery.\n  \"\"\"\n  value: DeliveryDiscountCandidateValue!\n}\n\n\"\"\"\nThe target of the eligible delivery discount.\n\"\"\"\ninput DeliveryDiscountCandidateTarget @oneOf {\n  \"\"\"\n  A method for applying a discount to a delivery group. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's shipping address.\n  For example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\n  items are included in the same delivery group.\n  \"\"\"\n  deliveryGroup: DeliveryGroupTarget\n\n  \"\"\"\n  A method for applying a discount to a delivery option within a delivery group.\n  Delivery options are the different ways that customers can choose to have their\n  orders shipped. Examples of delivery options include express shipping or standard shipping.\n  \"\"\"\n  deliveryOption: DeliveryOptionTarget\n}\n\n\"\"\"\nThe value of the eligible delivery discount.\n\"\"\"\ninput DeliveryDiscountCandidateValue @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nThe strategy that's applied to the list of discounts that are eligible to be applied to a delivery.\n\"\"\"\nenum DeliveryDiscountSelectionStrategy {\n  \"\"\"\n  Apply all discounts that are eligible to be applied to a delivery with\n  conditions that are satisfied. This doesn't override\n  discount combination or stacking rules.\n  \"\"\"\n  ALL\n}\n\n\"\"\"\nApplies delivery discounts to a cart that share a method for determining which\nshipping and delivery discounts to apply when multiple discounts are eligible.\n\"\"\"\ninput DeliveryDiscountsAddOperation {\n  \"\"\"\n  The list of discounts that are eligible to be applied to a delivery.\n  \"\"\"\n  candidates: [DeliveryDiscountCandidate!]!\n\n  \"\"\"\n  The method for determining which shipping and delivery discounts to apply when\n  multiple discounts are eligible. For example, when the \"ALL\" strategy is\n  selected, every shipping and delivery discount that qualifies is applied to\n  the cart (for example, free shipping on orders over $50 and $5 off express\n  shipping). This controls how shipping and delivery discounts interact when\n  multiple conditions are satisfied simultaneously.\n  \"\"\"\n  selectionStrategy: DeliveryDiscountSelectionStrategy!\n}\n\n\"\"\"\nA method for applying a discount to a delivery group. Delivery groups streamline\nfulfillment by organizing items that can be shipped together, based on the customer's shipping address.\nFor example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\nitems are included in the same delivery group.\n\"\"\"\ninput DeliveryGroupTarget {\n  \"\"\"\n  The ID of the target delivery group.\n  \"\"\"\n  id: ID!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe operations to apply discounts to shipping and delivery charges in a\ncustomer's cart. These operations allow you to reduce the cost of shipping by\napplying percentage or fixed-amount discounts to specific delivery options (such\nas standard shipping and express shipping) or delivery groups (such as\ncollections of delivery options).\n\"\"\"\ninput DeliveryOperation @oneOf {\n  \"\"\"\n  Applies delivery discounts to a cart that share a method for determining which\n  shipping and delivery discounts to apply when multiple discounts are eligible.\n  \"\"\"\n  deliveryDiscountsAdd: DeliveryDiscountsAddOperation\n\n  \"\"\"\n  An operation that selects which entered discount codes to accept. Use this to\n  validate discount codes from external systems.\n  \"\"\"\n  enteredDiscountCodesAccept: EnteredDiscountCodesAcceptOperation\n}\n\n\"\"\"\nA method for applying a discount to a delivery option within a delivery group.\nDelivery options are the different ways that customers can choose to have their\norders shipped. Examples of delivery options include express shipping or standard shipping.\n\"\"\"\ninput DeliveryOptionTarget {\n  \"\"\"\n  The handle of the target delivery option.\n  \"\"\"\n  handle: Handle!\n}\n\n\"\"\"\nThe discount that invoked the [Discount Function](https://shopify.dev/docs/apps/build/discounts#build-with-shopify-functions)).\n\"\"\"\ntype Discount implements HasMetafields {\n  \"\"\"\n  The [discount classes](https://shopify.dev/docs/apps/build/discounts/#discount-classes)) that the [discountNode](https://shopify.dev/docs/api/admin-graphql/latest/queries/discountNode)) supports.\n  \"\"\"\n  discountClasses: [DiscountClass!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe [discount class](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\nthat's used to control how discounts can be combined.\n\"\"\"\nenum DiscountClass {\n  \"\"\"\n  The discount is combined with an\n  [order discount](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\n  class.\n  \"\"\"\n  ORDER\n\n  \"\"\"\n  The discount is combined with a\n  [product discount](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\n  class.\n  \"\"\"\n  PRODUCT\n\n  \"\"\"\n  The discount is combined with a\n  [shipping discount](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\n  class.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA discount code used by the buyer to add a discount to the cart.\n\"\"\"\ninput DiscountCode {\n  \"\"\"\n  The discount code.\n  \"\"\"\n  code: String!\n}\n\n\"\"\"\nAn operation that selects which entered discount codes to accept. Use this to validate discount codes from external systems.\n\"\"\"\ninput EnteredDiscountCodesAcceptOperation {\n  \"\"\"\n  The list of discount codes to accept.\n  \"\"\"\n  codes: [DiscountCode!]!\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request.\n\"\"\"\ninput HttpRequest {\n  \"\"\"\n  The HTTP request body as a plain string.\n  Use this field when the body isn't in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpRequestHeader!]!\n\n  \"\"\"\n  The HTTP request body as a JSON object.\n  Use this field when the body's in JSON format, to reduce function instruction consumption\n  and to ensure the body's formatted in logs.\n  Don't use this field together with the `body` field. If both are provided, then the `body` field\n  will take precedence.\n  If this field is specified and no `Content-Type` header is included, then the header will\n  automatically be set to `application/json`.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP method.\n  \"\"\"\n  method: HttpRequestMethod!\n\n  \"\"\"\n  Policy attached to the HTTP request.\n  \"\"\"\n  policy: HttpRequestPolicy!\n\n  \"\"\"\n  The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.\n  \"\"\"\n  url: URL!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request header.\n\"\"\"\ninput HttpRequestHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nThe HTTP request available methods.\n\"\"\"\nenum HttpRequestMethod {\n  \"\"\"\n  Http GET.\n  \"\"\"\n  GET\n\n  \"\"\"\n  Http POST.\n  \"\"\"\n  POST\n}\n\n\"\"\"\nThe attributes associated with an HTTP request policy.\n\"\"\"\ninput HttpRequestPolicy {\n  \"\"\"\n  Read timeout in milliseconds.\n  \"\"\"\n  readTimeoutMs: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response.\n\"\"\"\ntype HttpResponse {\n  \"\"\"\n  The HTTP response body as a plain string.\n  Use this field when the body is not in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  An HTTP header.\n  \"\"\"\n  header(\n    \"\"\"\n    A case-insensitive header name.\n    \"\"\"\n    name: String!\n  ): HttpResponseHeader\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpResponseHeader!]! @deprecated(reason: \"Use `header` instead.\")\n\n  \"\"\"\n  The HTTP response body parsed as JSON. \n  If the body is valid JSON, it will be parsed and returned as a JSON object. \n  If parsing fails, then raw body is returned as a string. \n  Use this field when you expect the response to be JSON, or when you're dealing\n  with mixed response types, meaning both JSON and non-JSON.\n  Using this field reduces function instruction consumption and ensures that the data is formatted in logs.\n  To prevent increasing the function target input size unnecessarily, avoid querying\n  both `body` and `jsonBody` simultaneously.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP status code.\n  \"\"\"\n  status: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response header.\n\"\"\"\ntype HttpResponseHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the Function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The discount node that owns the [Shopify\n  Function](https://shopify.dev/docs/apps/build/functions). Discounts are a way\n  for merchants to promote sales and special offers, or as customer loyalty\n  rewards. A single discount can be automatic or code-based, and can be applied\n  to a cart lines, orders, and delivery.\n  \"\"\"\n  discount: Discount!\n\n  \"\"\"\n  The discount codes that customers enter at checkout. Customers can enter codes\n  as an array of strings, excluding gift cards. Codes aren't validated in any\n  way other than to verify they aren't gift cards. This input is only available\n  in the `cart.lines.discounts.generate.fetch` and\n  `cart.delivery-options.discounts.generate.fetch` extension targets.\n  \"\"\"\n  enteredDiscountCodes: [String!]! @restrictTarget(only: [\"cart.lines.discounts.generate.fetch\", \"cart.delivery-options.discounts.generate.fetch\"])\n\n  \"\"\"\n  The result of the fetch target. Refer to [network access](https://shopify.dev/apps/build/functions/input-output/network-access/graphql)\n  for Shopify Functions. This input is only available in the\n  `cart.lines.discounts.generate.run` and\n  `cart.delivery-options.discounts.generate.run` extension targets.\n  \"\"\"\n  fetchResult: HttpResponse @restrictTarget(only: [\"cart.lines.discounts.generate.run\", \"cart.delivery-options.discounts.generate.run\"])\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n\n  \"\"\"\n  The discount code entered by a customer, which caused the [Discount Function](https://shopify.dev/docs/apps/build/discounts#build-with-shopify-functions)) to run.\n  This input is only available in the `cart.lines.discounts.generate.run` and\n  `cart.delivery-options.discounts.generate.run` extension targets.\n  \"\"\"\n  triggeringDiscountCode: String @restrictTarget(only: [\"cart.lines.discounts.generate.run\", \"cart.delivery-options.discounts.generate.run\"])\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the cart.delivery-options.discounts.generate.fetch target.\n  \"\"\"\n  cartDeliveryOptionsDiscountsGenerateFetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartDeliveryOptionsDiscountsGenerateFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the cart.delivery-options.discounts.generate.run target.\n  \"\"\"\n  cartDeliveryOptionsDiscountsGenerateRun(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartDeliveryOptionsDiscountsGenerateRunResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the cart.lines.discounts.generate.fetch target.\n  \"\"\"\n  cartLinesDiscountsGenerateFetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartLinesDiscountsGenerateFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the cart.lines.discounts.generate.run target.\n  \"\"\"\n  cartLinesDiscountsGenerateRun(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartLinesDiscountsGenerateRunResult!\n  ): Void!\n}\n\n\"\"\"\nA discount candidate to be applied to an eligible order.\n\"\"\"\ninput OrderDiscountCandidate {\n  \"\"\"\n  The discount code associated with this discount candidate, for code-based discounts.\n  \"\"\"\n  associatedDiscountCode: AssociatedDiscountCode\n\n  \"\"\"\n  The conditions that must be satisfied for an order to be eligible for a discount candidate.\n  \"\"\"\n  conditions: [Condition!]\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The targets of the order discount candidate.\n  \"\"\"\n  targets: [OrderDiscountCandidateTarget!]!\n\n  \"\"\"\n  The value of the order discount candidate.\n  \"\"\"\n  value: OrderDiscountCandidateValue!\n}\n\n\"\"\"\nA target of an order to be eligible for a discount candidate.\n\"\"\"\ninput OrderDiscountCandidateTarget @oneOf {\n  \"\"\"\n  A method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\n  order before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\n  for a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n  \"\"\"\n  orderSubtotal: OrderSubtotalTarget\n}\n\n\"\"\"\nThe value of the order discount candidate.\n\"\"\"\ninput OrderDiscountCandidateValue @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nThe strategy that's applied to the list of order discount candidates.\n\"\"\"\nenum OrderDiscountSelectionStrategy {\n  \"\"\"\n  Only apply the first order discount candidate with conditions that are satisfied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the order discount candidate that offers the maximum reduction.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nAn operation that applies order discounts to a cart that share a selection strategy.\n\"\"\"\ninput OrderDiscountsAddOperation {\n  \"\"\"\n  The list of discounts that can be applied to an order.\n  \"\"\"\n  candidates: [OrderDiscountCandidate!]!\n\n  \"\"\"\n  The strategy that's applied to the list of discounts.\n  \"\"\"\n  selectionStrategy: OrderDiscountSelectionStrategy!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal amount of the order.\n\"\"\"\ninput OrderMinimumSubtotal {\n  \"\"\"\n  Cart line IDs with a merchandise line price that's excluded to calculate the minimum subtotal amount of the order.\n  \"\"\"\n  excludedCartLineIds: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the order to be eligible for the discount.\n  \"\"\"\n  minimumAmount: Decimal!\n}\n\n\"\"\"\nA method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\norder before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\nfor a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n\"\"\"\ninput OrderSubtotalTarget {\n  \"\"\"\n  The list of excluded cart line IDs. These cart lines are excluded from the order\n  subtotal calculation when calculating the maximum value of the discount.\n  \"\"\"\n  excludedCartLineIds: [ID!]!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nThe target and value of the discount to be applied to a cart line.\n\"\"\"\ninput ProductDiscountCandidate {\n  \"\"\"\n  The discount code associated with this discount candidate, for code-based discounts.\n  \"\"\"\n  associatedDiscountCode: AssociatedDiscountCode\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The targets of the discount to be applied to a cart line.\n  \"\"\"\n  targets: [ProductDiscountCandidateTarget!]!\n\n  \"\"\"\n  The value of the discount to be applied to a cart line. For example, a fixed\n  amount of $5 off or percentage value of 20% off.\n  \"\"\"\n  value: ProductDiscountCandidateValue!\n}\n\n\"\"\"\nThe [fixed-amount](https://help.shopify.com/manual/international/pricing/discounts)\nvalue of the discount to be applied to a cart line. For example, if the cart\ntotal is $100 and the discount is $10, then the fixed amount is $10.\n\"\"\"\ninput ProductDiscountCandidateFixedAmount {\n  \"\"\"\n  The [fixed-amount](https://help.shopify.com/manual/international/pricing/discounts) value of the discount to be applied to a cart line, in the currency of the\n  cart. The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Whether to apply the value of each eligible discount to each eligible cart line.\n\n  The default value is `false`, which causes the value to be applied once across the entitled items.\n  When the value is `true`, the value will be applied to each of the entitled items.\n  \"\"\"\n  appliesToEachItem: Boolean = false\n}\n\n\"\"\"\nDefines discount candidates, which are cart lines that may be eligible for\npotential discounts. Use discount candidates to identify items in a customer's\ncart that could receive discounts based on conditions in the selection strategy.\n\nWhen multiple cart lines share the same type and ID, the system treats them as a\nsingle target and combines their quantities. The combined quantity becomes null\nif any individual target has a `null` quantity.\n\"\"\"\ninput ProductDiscountCandidateTarget @oneOf {\n  \"\"\"\n  A method for applying a discount to a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLine: CartLineTarget\n}\n\n\"\"\"\nThe value of the discount candidate to be applied to a cart line.\n\"\"\"\ninput ProductDiscountCandidateValue @oneOf {\n  \"\"\"\n  The [fixed-amount](https://help.shopify.com/manual/international/pricing/discounts) value of the discount to be applied to a cart line. For example, if the cart\n  total is $100 and the discount is $10, then the fixed amount is $10.\n  \"\"\"\n  fixedAmount: ProductDiscountCandidateFixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nThe selection strategy that's applied to the list of discounts that are eligible for cart lines.\n\"\"\"\nenum ProductDiscountSelectionStrategy {\n  \"\"\"\n  Apply all the discount candidates to eligible cart lines. This doesn't override discount combination or stacking rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Apply the first discount candidate to cart lines that satisfies conditions.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Apply the discount to the cart line that offers the maximum reduction.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nAn operation that applies product discounts to a cart that share a selection strategy.\n\"\"\"\ninput ProductDiscountsAddOperation {\n  \"\"\"\n  The list of products that are eligible for the discount.\n  \"\"\"\n  candidates: [ProductDiscountCandidate!]!\n\n  \"\"\"\n  The strategy that's applied to the list of products that are eligible for the cart line discount.\n  \"\"\"\n  selectionStrategy: ProductDiscountSelectionStrategy!\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/javascript/discount/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-04\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"cart.lines.discounts.generate.run\"\n  input_query = \"src/cart_lines_discounts_generate_run.graphql\"\n  export = \"cart-lines-discounts-generate-run\"\n\n  [[extensions.targeting]]\n  target = \"cart.delivery-options.discounts.generate.run\"\n  input_query = \"src/cart_delivery_options_discounts_generate_run.graphql\"\n  export = \"cart-delivery-options-discounts-generate-run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n"
  },
  {
    "path": "discounts/javascript/discount/default/src/cart_delivery_options_discounts_generate_run.graphql.liquid",
    "content": "query DeliveryInput {\n  cart {\n    deliveryGroups {\n      id\n    }\n  }\n  discount {\n    discountClasses\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/discount/default/src/cart_delivery_options_discounts_generate_run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport {\n  DeliveryDiscountSelectionStrategy,\n  DiscountClass,\n} from \"../generated/api\";\n\n/**\n  * @typedef {import(\"../generated/api\").DeliveryInput} RunInput\n  * @typedef {import(\"../generated/api\").CartDeliveryOptionsDiscountsGenerateRunResult} CartDeliveryOptionsDiscountsGenerateRunResult\n  */\n\n/**\n  * @param {RunInput} input\n  * @returns {CartDeliveryOptionsDiscountsGenerateRunResult}\n  */\n\nexport function cartDeliveryOptionsDiscountsGenerateRun(input) {\n  const firstDeliveryGroup = input.cart.deliveryGroups[0];\n  if (!firstDeliveryGroup) {\n    throw new Error(\"No delivery groups found\");\n  }\n\n  const hasShippingDiscountClass = input.discount.discountClasses.includes(\n    DiscountClass.Shipping,\n  );\n\n  if (!hasShippingDiscountClass) {\n    return {operations: []};\n  }\n\n  return {\n    operations: [\n      {\n        deliveryDiscountsAdd: {\n          candidates: [\n            {\n              message: \"FREE DELIVERY\",\n              targets: [\n                {\n                  deliveryGroup: {\n                    id: firstDeliveryGroup.id,\n                  },\n                },\n              ],\n              value: {\n                percentage: {\n                  value: 100,\n                },\n              },\n            },\n          ],\n          selectionStrategy: DeliveryDiscountSelectionStrategy.All,\n        },\n      },\n    ],\n  };\n}\n{%- elsif flavor contains \"typescript\" -%}\nimport {\n  DeliveryDiscountSelectionStrategy,\n  DiscountClass,\n  DeliveryInput,\n  CartDeliveryOptionsDiscountsGenerateRunResult,\n} from \"../generated/api\";\n\nexport function cartDeliveryOptionsDiscountsGenerateRun(\n  input: DeliveryInput,\n): CartDeliveryOptionsDiscountsGenerateRunResult {\n  const firstDeliveryGroup = input.cart.deliveryGroups[0];\n  if (!firstDeliveryGroup) {\n    throw new Error(\"No delivery groups found\");\n  }\n\n  const hasShippingDiscountClass = input.discount.discountClasses.includes(\n    DiscountClass.Shipping,\n  );\n\n  if (!hasShippingDiscountClass) {\n    return {operations: []};\n  }\n\n  return {\n    operations: [\n      {\n        deliveryDiscountsAdd: {\n          candidates: [\n            {\n              message: \"FREE DELIVERY\",\n              targets: [\n                {\n                  deliveryGroup: {\n                    id: firstDeliveryGroup.id,\n                  },\n                },\n              ],\n              value: {\n                percentage: {\n                  value: 100,\n                },\n              },\n            },\n          ],\n          selectionStrategy: DeliveryDiscountSelectionStrategy.All,\n        },\n      },\n    ],\n  };\n}\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/discount/default/src/cart_delivery_options_discounts_generate_run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport {describe, it, expect} from \"vitest\";\n\nimport {cartDeliveryOptionsDiscountsGenerateRun} from \"./cart_delivery_options_discounts_generate_run\";\nimport {\n  DeliveryDiscountSelectionStrategy,\n  DiscountClass,\n} from \"../generated/api\";\n\n/**\n  * @typedef {import(\"../generated/api\").CartDeliveryOptionsDiscountsGenerateRunResult} CartDeliveryOptionsDiscountsGenerateRunResult\n  * @typedef {import(\"../generated/api\").DeliveryInput} DeliveryInput\n  */\n\ndescribe(\"cartDeliveryOptionsDiscountsGenerateRun\", () => {\n  const baseInput = {\n    cart: {\n      deliveryGroups: [\n        {\n          id: \"gid://shopify/DeliveryGroup/0\",\n        },\n      ],\n    },\n    discount: {\n      discountClasses: [],\n    },\n  };\n\n  it(\"returns empty operations when no discount classes are present\", () => {\n    const input = {\n      ...baseInput,\n      discount: {\n        discountClasses: [],\n      },\n    };\n\n    const result = cartDeliveryOptionsDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(0);\n  });\n\n  it(\"returns delivery discount when shipping discount class is present\", () => {\n    const input = {\n      ...baseInput,\n      discount: {\n        discountClasses: [DiscountClass.Shipping],\n      },\n    };\n\n    const result = cartDeliveryOptionsDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(1);\n    expect(result.operations[0]).toMatchObject({\n      deliveryDiscountsAdd: {\n        candidates: [\n          {\n            message: \"FREE DELIVERY\",\n            targets: [\n              {\n                deliveryGroup: {\n                  id: \"gid://shopify/DeliveryGroup/0\",\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 100,\n              },\n            },\n          },\n        ],\n        selectionStrategy: DeliveryDiscountSelectionStrategy.All,\n      },\n    });\n  });\n\n  it(\"throws error when no delivery groups are present\", () => {\n    const input = {\n      cart: {\n        deliveryGroups: [],\n      },\n      discount: {\n        discountClasses: [DiscountClass.Shipping],\n      },\n    };\n\n    expect(() => cartDeliveryOptionsDiscountsGenerateRun(input)).toThrow(\n      \"No delivery groups found\",\n    );\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport {describe, it, expect} from \"vitest\";\n\nimport {cartDeliveryOptionsDiscountsGenerateRun} from \"./cart_delivery_options_discounts_generate_run\";\nimport {\n  DeliveryDiscountSelectionStrategy,\n  DiscountClass,\n  DeliveryInput,\n  CartDeliveryOptionsDiscountsGenerateRunResult,\n} from \"../generated/api\";\n\ndescribe(\"cartDeliveryOptionsDiscountsGenerateRun\", () => {\n  const baseInput: DeliveryInput = {\n    cart: {\n      deliveryGroups: [\n        {\n          id: \"gid://shopify/DeliveryGroup/0\",\n        },\n      ],\n    },\n    discount: {\n      discountClasses: [],\n    },\n  };\n\n  it(\"returns empty operations when no discount classes are present\", () => {\n    const input: DeliveryInput = {\n      ...baseInput,\n      discount: {\n        discountClasses: [],\n      },\n    };\n\n    const result: CartDeliveryOptionsDiscountsGenerateRunResult =\n      cartDeliveryOptionsDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(0);\n  });\n\n  it(\"returns delivery discount when shipping discount class is present\", () => {\n    const input: DeliveryInput = {\n      ...baseInput,\n      discount: {\n        discountClasses: [DiscountClass.Shipping],\n      },\n    };\n\n    const result: CartDeliveryOptionsDiscountsGenerateRunResult =\n      cartDeliveryOptionsDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(1);\n    expect(result.operations[0]).toMatchObject({\n      deliveryDiscountsAdd: {\n        candidates: [\n          {\n            message: \"FREE DELIVERY\",\n            targets: [\n              {\n                deliveryGroup: {\n                  id: \"gid://shopify/DeliveryGroup/0\",\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 100,\n              },\n            },\n          },\n        ],\n        selectionStrategy: DeliveryDiscountSelectionStrategy.All,\n      },\n    });\n  });\n\n  it(\"throws error when no delivery groups are present\", () => {\n    const input: DeliveryInput = {\n      cart: {\n        deliveryGroups: [],\n      },\n      discount: {\n        discountClasses: [DiscountClass.Shipping],\n      },\n    };\n\n    expect(() => cartDeliveryOptionsDiscountsGenerateRun(input)).toThrow(\n      \"No delivery groups found\",\n    );\n  });\n});\n\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/discount/default/src/cart_lines_discounts_generate_run.graphql.liquid",
    "content": "query CartInput {\n  cart {\n    lines {\n      id\n      cost {\n        subtotalAmount {\n          amount\n        }\n      }\n    }\n  }\n  discount {\n    discountClasses\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/discount/default/src/cart_lines_discounts_generate_run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport {\n  DiscountClass,\n  OrderDiscountSelectionStrategy,\n  ProductDiscountSelectionStrategy,\n} from '../generated/api';\n\n\n/**\n  * @typedef {import(\"../generated/api\").CartInput} RunInput\n  * @typedef {import(\"../generated/api\").CartLinesDiscountsGenerateRunResult} CartLinesDiscountsGenerateRunResult\n  */\n\n/**\n  * @param {RunInput} input\n  * @returns {CartLinesDiscountsGenerateRunResult}\n  */\n\nexport function cartLinesDiscountsGenerateRun(input) {\n  if (!input.cart.lines.length) {\n    throw new Error('No cart lines found');\n  }\n\n  const hasOrderDiscountClass = input.discount.discountClasses.includes(\n    DiscountClass.Order,\n  );\n  const hasProductDiscountClass = input.discount.discountClasses.includes(\n    DiscountClass.Product,\n  );\n\n  if (!hasOrderDiscountClass && !hasProductDiscountClass) {\n    return {operations: []};\n  }\n\n  const maxCartLine = input.cart.lines.reduce((maxLine, line) => {\n    if (line.cost.subtotalAmount.amount > maxLine.cost.subtotalAmount.amount) {\n      return line;\n    }\n    return maxLine;\n  }, input.cart.lines[0]);\n\n  const operations = [];\n\n  if (hasOrderDiscountClass) {\n    operations.push({\n      orderDiscountsAdd: {\n        candidates: [\n          {\n            message: '10% OFF ORDER',\n            targets: [\n              {\n                orderSubtotal: {\n                  excludedCartLineIds: [],\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 10,\n              },\n            },\n          },\n        ],\n        selectionStrategy: OrderDiscountSelectionStrategy.First,\n      },\n    });\n  }\n\n  if (hasProductDiscountClass) {\n    operations.push({\n      productDiscountsAdd: {\n        candidates: [\n          {\n            message: '20% OFF PRODUCT',\n            targets: [\n              {\n                cartLine: {\n                  id: maxCartLine.id,\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 20,\n              },\n            },\n          },\n        ],\n        selectionStrategy: ProductDiscountSelectionStrategy.First,\n      },\n    });\n  }\n\n  return {\n    operations,\n  };\n}\n\n{%- elsif flavor contains \"typescript\" -%}\nimport {\n  DiscountClass,\n  OrderDiscountSelectionStrategy,\n  ProductDiscountSelectionStrategy,\n  CartInput,\n  CartLinesDiscountsGenerateRunResult,\n} from '../generated/api';\n\n\nexport function cartLinesDiscountsGenerateRun(\n  input: CartInput,\n): CartLinesDiscountsGenerateRunResult {\n  if (!input.cart.lines.length) {\n    throw new Error('No cart lines found');\n  }\n\n  const hasOrderDiscountClass = input.discount.discountClasses.includes(\n    DiscountClass.Order,\n  );\n  const hasProductDiscountClass = input.discount.discountClasses.includes(\n    DiscountClass.Product,\n  );\n\n  if (!hasOrderDiscountClass && !hasProductDiscountClass) {\n    return {operations: []};\n  }\n\n  const maxCartLine = input.cart.lines.reduce((maxLine, line) => {\n    if (line.cost.subtotalAmount.amount > maxLine.cost.subtotalAmount.amount) {\n      return line;\n    }\n    return maxLine;\n  }, input.cart.lines[0]);\n\n  const operations = [];\n\n  if (hasOrderDiscountClass) {\n    operations.push({\n      orderDiscountsAdd: {\n        candidates: [\n          {\n            message: '10% OFF ORDER',\n            targets: [\n              {\n                orderSubtotal: {\n                  excludedCartLineIds: [],\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 10,\n              },\n            },\n          },\n        ],\n        selectionStrategy: OrderDiscountSelectionStrategy.First,\n      },\n    });\n  }\n\n  if (hasProductDiscountClass) {\n    operations.push({\n      productDiscountsAdd: {\n        candidates: [\n          {\n            message: '20% OFF PRODUCT',\n            targets: [\n              {\n                cartLine: {\n                  id: maxCartLine.id,\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 20,\n              },\n            },\n          },\n        ],\n        selectionStrategy: ProductDiscountSelectionStrategy.First,\n      },\n    });\n  }\n\n  return {\n    operations,\n  };\n}\n\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/discount/default/src/cart_lines_discounts_generate_run.test.liquid",
    "content": "\n{%- if flavor contains \"vanilla-js\" -%}\nimport {describe, it, expect} from \"vitest\";\n\nimport {cartLinesDiscountsGenerateRun} from \"./cart_lines_discounts_generate_run\";\nimport {\n  OrderDiscountSelectionStrategy,\n  ProductDiscountSelectionStrategy,\n  DiscountClass,\n} from \"../generated/api\";\n\n/**\n  * @typedef {import(\"../generated/api\").CartLinesDiscountsGenerateRunResult} CartLinesDiscountsGenerateRunResult\n  */\n\ndescribe(\"cartLinesDiscountsGenerateRun\", () => {\n  const baseInput = {\n    cart: {\n      lines: [\n        {\n          id: \"gid://shopify/CartLine/0\",\n          cost: {\n            subtotalAmount: {\n              amount: 100,\n            },\n          },\n        },\n      ],\n    },\n    discount: {\n      discountClasses: [],\n    },\n  };\n\n  it(\"returns empty operations when no discount classes are present\", () => {\n    const input = {\n      ...baseInput,\n      discount: {\n        discountClasses: [],\n      },\n    };\n\n    const result = cartLinesDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(0);\n  });\n\n  it(\"returns only order discount when only order discount class is present\", () => {\n    const input = {\n      ...baseInput,\n      discount: {\n        discountClasses: [DiscountClass.Order],\n      },\n    };\n\n    const result = cartLinesDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(1);\n    expect(result.operations[0]).toMatchObject({\n      orderDiscountsAdd: {\n        candidates: [\n          {\n            message: \"10% OFF ORDER\",\n            targets: [\n              {\n                orderSubtotal: {\n                  excludedCartLineIds: [],\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 10,\n              },\n            },\n          },\n        ],\n        selectionStrategy: OrderDiscountSelectionStrategy.First,\n      },\n    });\n  });\n\n  it(\"returns only product discount when only product discount class is present\", () => {\n    const input = {\n      ...baseInput,\n      discount: {\n        discountClasses: [DiscountClass.Product],\n      },\n    };\n\n    const result = cartLinesDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(1);\n    expect(result.operations[0]).toMatchObject({\n      productDiscountsAdd: {\n        candidates: [\n          {\n            message: \"20% OFF PRODUCT\",\n            targets: [\n              {\n                cartLine: {\n                  id: \"gid://shopify/CartLine/0\",\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 20,\n              },\n            },\n          },\n        ],\n        selectionStrategy: ProductDiscountSelectionStrategy.First,\n      },\n    });\n  });\n\n  it(\"returns both discounts when both discount classes are present\", () => {\n    const input = {\n      ...baseInput,\n      discount: {\n        discountClasses: [DiscountClass.Order, DiscountClass.Product],\n      },\n    };\n\n    const result = cartLinesDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(2);\n    expect(result.operations[0]).toMatchObject({\n      orderDiscountsAdd: {\n        candidates: [\n          {\n            message: \"10% OFF ORDER\",\n            targets: [\n              {\n                orderSubtotal: {\n                  excludedCartLineIds: [],\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 10,\n              },\n            },\n          },\n        ],\n        selectionStrategy: OrderDiscountSelectionStrategy.First,\n      },\n    });\n\n    expect(result.operations[1]).toMatchObject({\n      productDiscountsAdd: {\n        candidates: [\n          {\n            message: \"20% OFF PRODUCT\",\n            targets: [\n              {\n                cartLine: {\n                  id: \"gid://shopify/CartLine/0\",\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 20,\n              },\n            },\n          },\n        ],\n        selectionStrategy: ProductDiscountSelectionStrategy.First,\n      },\n    });\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport {describe, it, expect} from \"vitest\";\n\nimport {cartLinesDiscountsGenerateRun} from \"./cart_lines_discounts_generate_run\";\nimport {\n  OrderDiscountSelectionStrategy,\n  ProductDiscountSelectionStrategy,\n  DiscountClass,\n  CartInput,\n  CartLinesDiscountsGenerateRunResult,\n} from \"../generated/api\";\n\ndescribe(\"cartLinesDiscountsGenerateRun\", () => {\n  const baseInput: CartInput = {\n    cart: {\n      lines: [\n        {\n          id: \"gid://shopify/CartLine/0\",\n          cost: {\n            subtotalAmount: {\n              amount: 100,\n            },\n          },\n        },\n      ],\n    },\n    discount: {\n      discountClasses: [],\n    },\n  };\n\n  it(\"returns empty operations when no discount classes are present\", () => {\n    const input: CartInput = {\n      ...baseInput,\n      discount: {\n        discountClasses: [],\n      },\n    };\n\n    const result: CartLinesDiscountsGenerateRunResult =\n      cartLinesDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(0);\n  });\n\n  it(\"returns only order discount when only order discount class is present\", () => {\n    const input: CartInput = {\n      ...baseInput,\n      discount: {\n        discountClasses: [DiscountClass.Order],\n      },\n    };\n\n    const result: CartLinesDiscountsGenerateRunResult =\n      cartLinesDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(1);\n    expect(result.operations[0]).toMatchObject({\n      orderDiscountsAdd: {\n        candidates: [\n          {\n            message: \"10% OFF ORDER\",\n            targets: [\n              {\n                orderSubtotal: {\n                  excludedCartLineIds: [],\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 10,\n              },\n            },\n          },\n        ],\n        selectionStrategy: OrderDiscountSelectionStrategy.First,\n      },\n    });\n  });\n\n  it(\"returns only product discount when only product discount class is present\", () => {\n    const input: CartInput = {\n      ...baseInput,\n      discount: {\n        discountClasses: [DiscountClass.Product],\n      },\n    };\n\n    const result: CartLinesDiscountsGenerateRunResult =\n      cartLinesDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(1);\n    expect(result.operations[0]).toMatchObject({\n      productDiscountsAdd: {\n        candidates: [\n          {\n            message: \"20% OFF PRODUCT\",\n            targets: [\n              {\n                cartLine: {\n                  id: \"gid://shopify/CartLine/0\",\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 20,\n              },\n            },\n          },\n        ],\n        selectionStrategy: ProductDiscountSelectionStrategy.First,\n      },\n    });\n  });\n\n  it(\"returns both discounts when both discount classes are present\", () => {\n    const input: CartInput = {\n      ...baseInput,\n      discount: {\n        discountClasses: [DiscountClass.Order, DiscountClass.Product],\n      },\n    };\n\n    const result: CartLinesDiscountsGenerateRunResult =\n      cartLinesDiscountsGenerateRun(input);\n    expect(result.operations).toHaveLength(2);\n    expect(result.operations[0]).toMatchObject({\n      orderDiscountsAdd: {\n        candidates: [\n          {\n            message: \"10% OFF ORDER\",\n            targets: [\n              {\n                orderSubtotal: {\n                  excludedCartLineIds: [],\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 10,\n              },\n            },\n          },\n        ],\n        selectionStrategy: OrderDiscountSelectionStrategy.First,\n      },\n    });\n\n    expect(result.operations[1]).toMatchObject({\n      productDiscountsAdd: {\n        candidates: [\n          {\n            message: \"20% OFF PRODUCT\",\n            targets: [\n              {\n                cartLine: {\n                  id: \"gid://shopify/CartLine/0\",\n                },\n              },\n            ],\n            value: {\n              percentage: {\n                value: 20,\n              },\n            },\n          },\n        ],\n        selectionStrategy: ProductDiscountSelectionStrategy.First,\n      },\n    });\n  });\n});\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/discount/default/src/index.liquid",
    "content": "export * from './cart_lines_discounts_generate_run';\nexport * from './cart_delivery_options_discounts_generate_run';\n"
  },
  {
    "path": "discounts/javascript/discount/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "discounts/javascript/discounts-allocator/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "discounts/javascript/discounts-allocator/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/javascript/discounts-allocator/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"decimal.js\": \"^10.4.3\",\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/discounts-allocator/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart implements HasMetafields {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The physical location where a retail order is created or completed.\n  \"\"\"\n  retailLocation: Location\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  The type of merchandise in the delivery group.\n  \"\"\"\n  groupType: CartDeliveryGroupType!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nDefines what type of merchandise is in the delivery group.\n\"\"\"\nenum CartDeliveryGroupType {\n  \"\"\"\n  The delivery group only contains merchandise that is either a one time purchase or a first delivery of\n  subscription merchandise.\n  \"\"\"\n  ONE_TIME_PURCHASE\n\n  \"\"\"\n  The delivery group only contains subscription merchandise.\n  \"\"\"\n  SUBSCRIPTION\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ntype CartLineTarget {\n  \"\"\"\n  The ID of the line to be discounted.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the items on this line to be discounted.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\ntype Discount implements HasMetafields {\n  \"\"\"\n  The discount code, for code-based discounts.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The strategy to use when considering discounts proposals.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The class of the discount.\n  \"\"\"\n  discountClass: DiscountClass!\n\n  \"\"\"\n  Proposals to evaluate as part of this discount.\n  \"\"\"\n  discountProposals: [DiscountProposal!]!\n\n  \"\"\"\n  The ID of the discount.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The discount title.\n  \"\"\"\n  title: String!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply all discounts with conditions that are met,\napply a discount only to the first line item in a cart that meets conditions,\nor apply only the discount that offers a maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Apply all discounts with conditions that are met. For example, you can use the `ALL` strategy to apply a\n  20% discount on a t-shirt, a $5 discount on a pair of shoes, and a 10% discount on a hat. The total\n  discount would be the sum of all three discounts, which would be applied to the order total. This strategy\n  doesn't override [discount combination](https://help.shopify.com/manual/discounts/discount-combinations)\n  rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nList of the classes of discounts.\n\"\"\"\nenum DiscountClass {\n  \"\"\"\n  A discount that applies to the order.\n  \"\"\"\n  ORDER\n\n  \"\"\"\n  A discount that applies to products.\n  \"\"\"\n  PRODUCT\n}\n\n\"\"\"\nThe input object for the Function.\n\"\"\"\ntype DiscountProposal {\n  \"\"\"\n  The handle of the discount proposal.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The message for this proposal.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The line items to which the discount proposal applies.\n  \"\"\"\n  targets: [CartLineTarget!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\ninput DisplayableError {\n  \"\"\"\n  The ID of the discount that caused this violation.\n  \"\"\"\n  discountId: ID!\n\n  \"\"\"\n  The error message in the user's locale.\n  \"\"\"\n  reason: String!\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ntype FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Allocation method of the discount, will be allocated on each line if it's\n  true, else will be allocated across target lines.\n  \"\"\"\n  appliesToEachItem: Boolean!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains a list of discounts that apply to each item in a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  A list of errors that display if a discount can't be applied to one or more\n  items in a cart. Errors lock checkout, and the customer has to remove the discount code to\n  proceed through checkout.\n\n  Shopify shows errors for only\n  [code discounts](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountCodeNode).\n  Custom error messages aren't currently supported. If errors are returned with a custom reason,\n  then the error won't display and the discount won't be added.\n  \"\"\"\n  displayableErrors: [DisplayableError!]\n\n  \"\"\"\n  The list of discounts that are applied to each item in a cart.\n  It includes data such as the ID of the cart line associated with the discount,\n  the quantity of items that the discount applies to,\n  and how the discount is allocated to each item.\n  \"\"\"\n  lineDiscounts: [LineDiscount!]\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the Function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The information about promotional offers that are applied to items in a cart,\n  such as the discount's name that displays to merchants in the\n  Shopify admin and to customers,\n  the [discount code](https://help.shopify.com/manual/discounts/discount-types/discount-codes),\n  the [discount class](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations),\n  and [metafields](https://shopify.dev/docs/apps/build/custom-data) that are associated\n  with discounts.\n  \"\"\"\n  discounts: [Discount!]\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\ninput LineDiscount {\n  \"\"\"\n  The output allocations for this line discount.\n  \"\"\"\n  allocations: [OutputAllocations!]!\n\n  \"\"\"\n  The ID of the cart line associated to this discount.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity to which this line discount will apply.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nLocal pickup settings associated with a location.\n\"\"\"\ntype LocalPickup {\n  \"\"\"\n  Whether local pickup is enabled for the location.\n  \"\"\"\n  enabled: Boolean!\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Local pickup settings associated with a location.\n  \"\"\"\n  localPickup: LocalPickup!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the purchase.discounts-allocator.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\ninput OutputAllocations {\n  \"\"\"\n  The money amount that's allocated to a line based on the associated discount.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The ID of the source discount proposal.\n  \"\"\"\n  discountProposalId: Handle!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ntype Percentage {\n  \"\"\"\n  The percentage value.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\nunion Value = FixedAmount | Percentage\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/javascript/discounts-allocator/default/shopify.extension.toml.liquid",
    "content": "api_version = \"unstable\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.discounts-allocator.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/javascript/discounts-allocator/default/src/index.liquid",
    "content": "export * from './run';"
  },
  {
    "path": "discounts/javascript/discounts-allocator/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  shop {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/discounts-allocator/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\nconst EMPTY_RESULT = {\n  displayableErrors: [],\n  lineDiscounts: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  return EMPTY_RESULT\n}\n{%- elsif flavor contains \"typescript\" -%}\nimport type {\n  RunInput,\n  FunctionRunResult\n} from \"../generated/api\";\n\nconst EMPTY_RESULT: FunctionRunResult = {\n  displayableErrors: [],\n  lineDiscounts: [],\n};\n\nexport function run(input: RunInput): FunctionRunResult {\n  return EMPTY_RESULT\n}\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/discounts-allocator/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport {describe, it, expect} from 'vitest';\nimport {run} from './run';\nimport Decimal from 'decimal.js';\n\ndescribe('discounts allocator function', () => {\n  it('returns no discounts without configuration', () => {\n    const result = run({\n      shop: {\n        metafield: null\n      }\n    });\n    const expected = {\n      displayableErrors: [],\n      lineDiscounts: [],\n    };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport {describe, it, expect} from 'vitest';\nimport {run} from './run';\nimport Decimal from 'decimal.js';\n\ndescribe('discounts allocator function', () => {\n  it('returns no discounts without configuration', () => {\n    const result = run({\n      shop: {\n        metafield: null\n      }\n    });\n    const expected: FunctionResult = {\n      displayableErrors: [],\n      lineDiscounts: [],\n    };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/discounts-allocator/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "discounts/javascript/order-discounts/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "discounts/javascript/order-discounts/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/javascript/order-discounts/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/order-discounts/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe criteria or rules that must be met for a discount to be applied to an order.\nFor example, conditions can include minimum purchase amounts, specific product selections, or\ncustomer eligibility.\n\"\"\"\ninput Condition @oneOf {\n  \"\"\"\n  The condition for checking the minimum subtotal amount of the order.\n  \"\"\"\n  orderMinimumSubtotal: OrderMinimumSubtotal\n\n  \"\"\"\n  The condition for checking the minimum quantity of a product.\n  \"\"\"\n  productMinimumQuantity: ProductMinimumQuantity\n\n  \"\"\"\n  The condition for checking the minimum subtotal amount of the product.\n  \"\"\"\n  productMinimumSubtotal: ProductMinimumSubtotal\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA price reduction applied to an order.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  The criteria or rules that must be met for a discount to be applied to an order.\n  For example, conditions can include minimum purchase amounts, specific product selections, or\n  customer eligibility.\n  \"\"\"\n  conditions: [Condition!]\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to an order. This argument accepts either a single\n  `OrderSubtotalTarget` or one or more `ProductVariantTarget`s, but not both.\n\n  The `OrderSubtotalTarget` is used to target the subtotal of the order. The subtotal is the total amount\n  of the order before any taxes, shipping fees, or discounts are applied. For example, if a customer\n  places an order for a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n\n  The `ProductVariantTarget` is used to target specific product variants within the order. Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply a discount to the first line item in a cart that meets conditions,\nor apply the discount that offers the maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply a discount to the first line item in a cart that meets conditions,\n  or apply the discount that offers the maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply a discount to the first line item in a cart that meets conditions,\n  or apply the discount that offers the maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.order-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal amount of the order.\n\"\"\"\ninput OrderMinimumSubtotal {\n  \"\"\"\n  Variant IDs with a merchandise line price that's excluded to calculate the minimum subtotal amount of the order.\n  \"\"\"\n  excludedVariantIds: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the order.\n  \"\"\"\n  minimumAmount: Decimal!\n\n  \"\"\"\n  The target type of the condition.\n\n   The value is validated against: = \"ORDER_SUBTOTAL\".\n  \"\"\"\n  targetType: TargetType!\n}\n\n\"\"\"\nA method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\norder before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\nfor a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n\"\"\"\ninput OrderSubtotalTarget {\n  \"\"\"\n  The list of excluded product variant IDs. Cart lines for these product variants are excluded from the order\n  subtotal calculation when calculating the maximum value of the discount.\n  \"\"\"\n  excludedVariantIds: [ID!]!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nThe condition for checking the minimum quantity of a product.\n\"\"\"\ninput ProductMinimumQuantity {\n  \"\"\"\n  Variant IDs with a merchandise line price that's included to calculate the minimum quantity of the product.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum quantity of a product.\n  \"\"\"\n  minimumQuantity: Int!\n\n  \"\"\"\n  The target type of the condition.\n\n  The value is validated against: = \"PRODUCT_VARIANT\".\n  \"\"\"\n  targetType: TargetType!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal amount of the product.\n\"\"\"\ninput ProductMinimumSubtotal {\n  \"\"\"\n  Variant IDs with a merchandise line price that's included to calculate the minimum subtotal amount of a product.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the product.\n  \"\"\"\n  minimumAmount: Decimal!\n\n  \"\"\"\n  The target type of the condition.\n\n  The value is validated against: = \"PRODUCT_VARIANT\".\n  \"\"\"\n  targetType: TargetType!\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nA method for applying a discount to a\n[product variant](https://help.shopify.com/manual/products/variants). Product variants\nare the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\nin a specific size and color, the t-shirt is a product variant. The discount can be applied to all\nproduct variants in the order, or to specific product variants that meet certain criteria.\n\"\"\"\ninput ProductVariantTarget {\n  \"\"\"\n  The ID of the targeted product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The maximum number of line item units to be discounted.\n  The default value is `null`, which represents the total quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe method for applying the discount to an order. This argument accepts either a single\n`OrderSubtotalTarget` or one or more `ProductVariantTarget`s, but not both.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\n  order before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\n  for a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n  \"\"\"\n  orderSubtotal: OrderSubtotalTarget\n\n  \"\"\"\n  A method for applying a discount to a\n  [product variant](https://help.shopify.com/manual/products/variants). Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  productVariant: ProductVariantTarget\n}\n\n\"\"\"\nThe target type of a condition.\n\"\"\"\nenum TargetType {\n  \"\"\"\n  The target is the subtotal of the order.\n  \"\"\"\n  ORDER_SUBTOTAL\n\n  \"\"\"\n  The target is a product variant.\n  \"\"\"\n  PRODUCT_VARIANT\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/javascript/order-discounts/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.order-discount.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/javascript/order-discounts/default/src/index.liquid",
    "content": "export * from './run';"
  },
  {
    "path": "discounts/javascript/order-discounts/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  discountNode {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/order-discounts/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n// @ts-check\nimport { DiscountApplicationStrategy } from \"../generated/api\";\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst EMPTY_DISCOUNT = {\n  discountApplicationStrategy: DiscountApplicationStrategy.First,\n  discounts: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const configuration = JSON.parse(\n    input?.discountNode?.metafield?.value ?? \"{}\"\n  );\n\n  return EMPTY_DISCOUNT;\n};\n{%- elsif flavor contains \"typescript\" -%}\nimport type {\n  RunInput,\n  FunctionRunResult\n} from \"../generated/api\";\nimport {\n  DiscountApplicationStrategy,\n} from \"../generated/api\";\n\nconst EMPTY_DISCOUNT: FunctionRunResult = {\n  discountApplicationStrategy: DiscountApplicationStrategy.First,\n  discounts: [],\n};\n\ntype Configuration = {};\n\nexport function run(input: RunInput): FunctionRunResult {\n  const configuration: Configuration = JSON.parse(\n    input?.discountNode?.metafield?.value ?? \"{}\"\n  );\n  return EMPTY_DISCOUNT;\n};\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/order-discounts/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './index';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionResult} FunctionResult\n */\n\ndescribe('order discounts function', () => {\n  it('returns no discounts without configuration', () => {\n    const result = run({\n      discountNode: {\n        metafield: null\n      }\n    });\n    const expected = /** @type {FunctionResult} */ ({\n      discounts: [],\n      discountApplicationStrategy: \"FIRST\",\n    });\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './index';\nimport { FunctionResult, DiscountApplicationStrategy } from '../generated/api';\n\ndescribe('order discounts function', () => {\n  it('returns no discounts without configuration', () => {\n    const result = run({\n      discountNode: {\n        metafield: null\n      }\n    });\n    const expected: FunctionResult = {\n      discounts: [],\n      discountApplicationStrategy: DiscountApplicationStrategy.First,\n    };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/order-discounts/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "discounts/javascript/product-discounts/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "discounts/javascript/product-discounts/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/javascript/product-discounts/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/product-discounts/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nA method for applying a discount to a specific line item in the cart. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ninput CartLineTarget {\n  \"\"\"\n  The ID of the targeted cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The number of line items that are being discounted.\n  The default value is `null`, which represents the quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA price reduction applied to a product.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to products. This argument accepts a collection of either\n  `ProductVariantTarget` or `CartLineTarget`, but not both.\n\n  The `ProductVariantTarget` is used to target a specific product variant. A product variant is a specific\n  version of a product that comes in more than one option, such as size or color. For example, if a merchant\n  sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant\n  and a large, blue t-shirt would be another.\n\n  The `CartLineTarget` is used to target a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply all discounts with conditions that are met,\napply a discount only to the first line item in a cart that meets conditions,\nor apply only the discount that offers a maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Apply all discounts with conditions that are met. For example, you can use the `ALL` strategy to apply a\n  20% discount on a t-shirt, a $5 discount on a pair of shoes, and a 10% discount on a hat. The total\n  discount would be the sum of all three discounts, which would be applied to the order total. This strategy\n  doesn't override [discount combination](https://help.shopify.com/manual/discounts/discount-combinations)\n  rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Whether to apply the value to each entitled item.\n\n  The default value is `false`, which causes the value to be applied once across the entitled items.\n  When the value is `true`, the value will be applied to each of the entitled items.\n  \"\"\"\n  appliesToEachItem: Boolean\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply all discounts with conditions that are met,\n  apply a discount only to the first line item in a cart that meets conditions,\n  or apply only the discount that offers a maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply all discounts with conditions that are met,\n  apply a discount only to the first line item in a cart that meets conditions,\n  or apply only the discount that offers a maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.product-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nA method for applying a discount to a\n[product variant](https://help.shopify.com/manual/products/variants). Product variants\nare the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\nin a specific size and color, the t-shirt is a product variant. The discount can be applied to all\nproduct variants in the order, or to specific product variants that meet certain criteria.\n\"\"\"\ninput ProductVariantTarget {\n  \"\"\"\n  The ID of the targeted product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The maximum number of line item units to be discounted.\n  The default value is `null`, which represents the total quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe method for applying the discount to products. This argument accepts a collection of either\n`ProductVariantTarget` or `CartLineTarget`, but not both.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLine: CartLineTarget\n\n  \"\"\"\n  A method for applying a discount to a\n  [product variant](https://help.shopify.com/manual/products/variants). Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  productVariant: ProductVariantTarget\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/javascript/product-discounts/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.product-discount.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/javascript/product-discounts/default/src/index.liquid",
    "content": "export * from './run';"
  },
  {
    "path": "discounts/javascript/product-discounts/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  discountNode {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/product-discounts/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n// @ts-check\nimport { DiscountApplicationStrategy } from \"../generated/api\";\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst EMPTY_DISCOUNT = {\n  discountApplicationStrategy: DiscountApplicationStrategy.First,\n  discounts: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const configuration = JSON.parse(\n    input?.discountNode?.metafield?.value ?? \"{}\"\n  );\n\n  return EMPTY_DISCOUNT;\n};\n{%- elsif flavor contains \"typescript\" -%}\nimport type {\n  RunInput,\n  FunctionRunResult\n} from \"../generated/api\";\nimport {\n  DiscountApplicationStrategy,\n} from \"../generated/api\";\n\nconst EMPTY_DISCOUNT: FunctionRunResult = {\n  discountApplicationStrategy: DiscountApplicationStrategy.First,\n  discounts: [],\n};\n\ntype Configuration = {};\n\nexport function run(input: RunInput): FunctionRunResult {\n  const configuration: Configuration = JSON.parse(\n    input?.discountNode?.metafield?.value ?? \"{}\"\n  );\n  return EMPTY_DISCOUNT;\n};\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/product-discounts/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionResult} FunctionResult\n */\n\ndescribe('product discounts function', () => {\n  it('returns no discounts without configuration', () => {\n    const result = run({\n      discountNode: {\n        metafield: null\n      }\n    });\n    const expected = /** @type {FunctionResult} */ ({\n      discounts: [],\n      discountApplicationStrategy: \"FIRST\",\n    });\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\nimport { FunctionResult, DiscountApplicationStrategy } from '../generated/api';\n\ndescribe('product discounts function', () => {\n  it('returns no discounts without configuration', () => {\n    const result = run({\n      discountNode: {\n        metafield: null\n      }\n    });\n    const expected: FunctionResult = {\n      discounts: [],\n      discountApplicationStrategy: DiscountApplicationStrategy.First,\n    };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/product-discounts/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "discounts/javascript/shipping-discounts/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "discounts/javascript/shipping-discounts/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/javascript/shipping-discounts/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/shipping-discounts/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA method for applying a discount to a delivery group. Delivery groups streamline\nfulfillment by organizing items that can be shipped together, based on the customer's shipping address.\nFor example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\nitems are included in the same delivery group.\n\"\"\"\ninput DeliveryGroupTarget {\n  \"\"\"\n  The ID of the target delivery group.\n  \"\"\"\n  id: ID!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA method for applying a discount to a delivery option within a delivery group.\nDelivery options are the different ways that customers can choose to have their\norders shipped. Examples of delivery options include express shipping or standard shipping.\n\"\"\"\ninput DeliveryOptionTarget {\n  \"\"\"\n  The handle of the target delivery option.\n  \"\"\"\n  handle: Handle!\n}\n\n\"\"\"\nA price reduction applied to shipping costs.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to shipping costs. This argument accepts a collection of either\n  `DeliveryGroupTarget` or `DeliveryOptionTarget`, but not both.\n\n  The `DeliveryGroupTarget` is used to target a specific delivery group. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's shipping address.\n  For example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\n  items are included in the same delivery group.\n\n  The `DeliveryOptionTarget` is used to target a specific delivery option within a delivery group.\n  Delivery options are the different ways that customers can choose to have their\n  orders shipped. Examples of delivery options include express shipping or standard shipping.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts to apply to shipping costs. In API\nversions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts to apply to shipping costs.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.shipping-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe method for applying the discount to shipping costs. This argument accepts a collection of either\n`DeliveryGroupTarget` or `DeliveryOptionTarget`, but not both.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to a delivery group. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's shipping address.\n  For example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\n  items are included in the same delivery group.\n  \"\"\"\n  deliveryGroup: DeliveryGroupTarget\n\n  \"\"\"\n  A method for applying a discount to a delivery option within a delivery group.\n  Delivery options are the different ways that customers can choose to have their\n  orders shipped. Examples of delivery options include express shipping or standard shipping.\n  \"\"\"\n  deliveryOption: DeliveryOptionTarget\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/javascript/shipping-discounts/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.shipping-discount.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/javascript/shipping-discounts/default/src/index.liquid",
    "content": "export * from './run';"
  },
  {
    "path": "discounts/javascript/shipping-discounts/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  discountNode {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/javascript/shipping-discounts/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst EMPTY_DISCOUNT = {\n  discounts: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const configuration = JSON.parse(\n    input?.discountNode?.metafield?.value ?? \"{}\"\n  );\n\n  return EMPTY_DISCOUNT;\n};\n{%- elsif flavor contains \"typescript\" -%}\nimport type {\n  RunInput,\n  FunctionRunResult\n} from \"../generated/api\";\nimport {\n  DiscountApplicationStrategy,\n} from \"../generated/api\";\n\nconst EMPTY_DISCOUNT: FunctionRunResult = {\n  discounts: [],\n};\n\ntype Configuration = {};\n\nexport function run(input: RunInput): FunctionRunResult {\n  const configuration: Configuration = JSON.parse(\n    input?.discountNode?.metafield?.value ?? \"{}\"\n  );\n  return EMPTY_DISCOUNT;\n};\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/shipping-discounts/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionResult} FunctionResult\n */\n\ndescribe('shipping discounts function', () => {\n  it('returns no discounts without configuration', () => {\n    const result = run({\n      discountNode: {\n        metafield: null\n      }\n    });\n    const expected = /** @type {FunctionResult} */ ({\n      discounts: [],\n    });\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\nimport { FunctionResult, DiscountApplicationStrategy } from '../generated/api';\n\ndescribe('shipping discounts function', () => {\n  it('returns no discounts without configuration', () => {\n    const result = run({\n      discountNode: {\n        metafield: null\n      }\n    });\n    const expected: FunctionResult = {\n      discounts: [],\n    };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- endif -%}\n"
  },
  {
    "path": "discounts/javascript/shipping-discounts/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "discounts/rust/discount/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "discounts/rust/discount/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n  [dependencies.serde]\n  version = \"1.0.13\"\n  features = [ \"derive\" ]\n\n[profile.release]\nlto = true\nopt-level = \"z\"\nstrip = true\n"
  },
  {
    "path": "discounts/rust/discount/default/README.md",
    "content": "# Shopify Function development with Rust\n\n## Dependencies\n\n- [Install Rust](https://www.rust-lang.org/tools/install)\n  - On Windows, Rust requires the [Microsoft C++ Build Tools](https://docs.microsoft.com/en-us/windows/dev-environment/rust/setup). Be sure to select the _Desktop development with C++_ workload when installing them.\n\n## Building the function\n\nYou can build this individual function using `cargo build`.\n\n```shell\ncargo build --target=wasm32-wasip1 --release\n```\n\nThe Shopify CLI `build` command will also execute this, based on the configuration in `shopify.extension.toml`.\n"
  },
  {
    "path": "discounts/rust/discount/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/rust/discount/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA discount code that is associated with a discount candidate.\n\"\"\"\ninput AssociatedDiscountCode {\n  \"\"\"\n  The discount code.\n  \"\"\"\n  code: String!\n}\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart.delivery-options.discounts.generate.fetch target result. Refer to [network access](https://shopify.dev/apps/build/functions/input-output/network-access/graphql)\nfor Shopify Functions.\n\"\"\"\ninput CartDeliveryOptionsDiscountsGenerateFetchResult {\n  \"\"\"\n  The attributes associated with an HTTP request.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe cart.delivery-options.discounts.generate.run target result.\n\"\"\"\ninput CartDeliveryOptionsDiscountsGenerateRunResult {\n  \"\"\"\n  An ordered list of operations to generate delivery discounts, such as validating and applying discounts to the cart.\n  \"\"\"\n  operations: [DeliveryOperation!]!\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nThe condition for checking the minimum quantity of products across a group of cart lines.\n\"\"\"\ninput CartLineMinimumQuantity {\n  \"\"\"\n  Cart line IDs with a merchandise line price that's included to calculate the\n  minimum quantity purchased to receive the discount.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum quantity of a cart line to be eligible for a discount candidate.\n  \"\"\"\n  minimumQuantity: Int!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal of products across a group of cart lines.\n\"\"\"\ninput CartLineMinimumSubtotal {\n  \"\"\"\n  Cart line IDs with a merchandise line price that's included to calculate the\n  minimum subtotal purchased to receive the discount.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the cart line to be eligible for a discount candidate.\n  \"\"\"\n  minimumAmount: Decimal!\n}\n\n\"\"\"\nA method for applying a discount to a specific line item in the cart. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ninput CartLineTarget {\n  \"\"\"\n  The ID of the targeted cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The number of line items that are being discounted.\n  The default value is `null`, which represents the quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe cart.lines.discounts.generate.fetch target result. Refer to [network access](https://shopify.dev/apps/build/functions/input-output/network-access/graphql)\nfor Shopify Functions.\n\"\"\"\ninput CartLinesDiscountsGenerateFetchResult {\n  \"\"\"\n  The HTTP request object.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe cart.lines.discounts.generate.run target result.\n\"\"\"\ninput CartLinesDiscountsGenerateRunResult {\n  \"\"\"\n  The list of operations to apply discounts to the cart.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe operations that can be performed to apply discounts to the cart.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that selects which entered discount codes to accept. Use this to\n  validate discount codes from external systems.\n  \"\"\"\n  enteredDiscountCodesAccept: EnteredDiscountCodesAcceptOperation\n\n  \"\"\"\n  An operation that applies order discounts to a cart that share a selection strategy.\n  \"\"\"\n  orderDiscountsAdd: OrderDiscountsAddOperation\n\n  \"\"\"\n  An operation that applies product discounts to a cart that share a selection strategy.\n  \"\"\"\n  productDiscountsAdd: ProductDiscountsAddOperation\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe conditions that satisfy the discount candidate to be applied to a cart line.\n\"\"\"\ninput Condition @oneOf {\n  \"\"\"\n  The condition for checking the minimum quantity of products across a group of cart lines.\n  \"\"\"\n  cartLineMinimumQuantity: CartLineMinimumQuantity\n\n  \"\"\"\n  The condition for checking the minimum subtotal of products across a group of cart lines.\n  \"\"\"\n  cartLineMinimumSubtotal: CartLineMinimumSubtotal\n\n  \"\"\"\n  The condition for checking the minimum subtotal amount of the order.\n  \"\"\"\n  orderMinimumSubtotal: OrderMinimumSubtotal\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nThe discount that's eligible to be applied to a delivery.\n\"\"\"\ninput DeliveryDiscountCandidate {\n  \"\"\"\n  The discount code that's eligible to be applied to a delivery.\n  \"\"\"\n  associatedDiscountCode: AssociatedDiscountCode\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The targets of the discount that are eligible to be applied to a delivery.\n  \"\"\"\n  targets: [DeliveryDiscountCandidateTarget!]!\n\n  \"\"\"\n  The value of the discount that's eligible to be applied to a delivery.\n  \"\"\"\n  value: DeliveryDiscountCandidateValue!\n}\n\n\"\"\"\nThe target of the eligible delivery discount.\n\"\"\"\ninput DeliveryDiscountCandidateTarget @oneOf {\n  \"\"\"\n  A method for applying a discount to a delivery group. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's shipping address.\n  For example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\n  items are included in the same delivery group.\n  \"\"\"\n  deliveryGroup: DeliveryGroupTarget\n\n  \"\"\"\n  A method for applying a discount to a delivery option within a delivery group.\n  Delivery options are the different ways that customers can choose to have their\n  orders shipped. Examples of delivery options include express shipping or standard shipping.\n  \"\"\"\n  deliveryOption: DeliveryOptionTarget\n}\n\n\"\"\"\nThe value of the eligible delivery discount.\n\"\"\"\ninput DeliveryDiscountCandidateValue @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nThe strategy that's applied to the list of discounts that are eligible to be applied to a delivery.\n\"\"\"\nenum DeliveryDiscountSelectionStrategy {\n  \"\"\"\n  Apply all discounts that are eligible to be applied to a delivery with\n  conditions that are satisfied. This doesn't override\n  discount combination or stacking rules.\n  \"\"\"\n  ALL\n}\n\n\"\"\"\nApplies delivery discounts to a cart that share a method for determining which\nshipping and delivery discounts to apply when multiple discounts are eligible.\n\"\"\"\ninput DeliveryDiscountsAddOperation {\n  \"\"\"\n  The list of discounts that are eligible to be applied to a delivery.\n  \"\"\"\n  candidates: [DeliveryDiscountCandidate!]!\n\n  \"\"\"\n  The method for determining which shipping and delivery discounts to apply when\n  multiple discounts are eligible. For example, when the \"ALL\" strategy is\n  selected, every shipping and delivery discount that qualifies is applied to\n  the cart (for example, free shipping on orders over $50 and $5 off express\n  shipping). This controls how shipping and delivery discounts interact when\n  multiple conditions are satisfied simultaneously.\n  \"\"\"\n  selectionStrategy: DeliveryDiscountSelectionStrategy!\n}\n\n\"\"\"\nA method for applying a discount to a delivery group. Delivery groups streamline\nfulfillment by organizing items that can be shipped together, based on the customer's shipping address.\nFor example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\nitems are included in the same delivery group.\n\"\"\"\ninput DeliveryGroupTarget {\n  \"\"\"\n  The ID of the target delivery group.\n  \"\"\"\n  id: ID!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe operations to apply discounts to shipping and delivery charges in a\ncustomer's cart. These operations allow you to reduce the cost of shipping by\napplying percentage or fixed-amount discounts to specific delivery options (such\nas standard shipping and express shipping) or delivery groups (such as\ncollections of delivery options).\n\"\"\"\ninput DeliveryOperation @oneOf {\n  \"\"\"\n  Applies delivery discounts to a cart that share a method for determining which\n  shipping and delivery discounts to apply when multiple discounts are eligible.\n  \"\"\"\n  deliveryDiscountsAdd: DeliveryDiscountsAddOperation\n\n  \"\"\"\n  An operation that selects which entered discount codes to accept. Use this to\n  validate discount codes from external systems.\n  \"\"\"\n  enteredDiscountCodesAccept: EnteredDiscountCodesAcceptOperation\n}\n\n\"\"\"\nA method for applying a discount to a delivery option within a delivery group.\nDelivery options are the different ways that customers can choose to have their\norders shipped. Examples of delivery options include express shipping or standard shipping.\n\"\"\"\ninput DeliveryOptionTarget {\n  \"\"\"\n  The handle of the target delivery option.\n  \"\"\"\n  handle: Handle!\n}\n\n\"\"\"\nThe discount that invoked the [Discount Function](https://shopify.dev/docs/apps/build/discounts#build-with-shopify-functions)).\n\"\"\"\ntype Discount implements HasMetafields {\n  \"\"\"\n  The [discount classes](https://shopify.dev/docs/apps/build/discounts/#discount-classes)) that the [discountNode](https://shopify.dev/docs/api/admin-graphql/latest/queries/discountNode)) supports.\n  \"\"\"\n  discountClasses: [DiscountClass!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe [discount class](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\nthat's used to control how discounts can be combined.\n\"\"\"\nenum DiscountClass {\n  \"\"\"\n  The discount is combined with an\n  [order discount](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\n  class.\n  \"\"\"\n  ORDER\n\n  \"\"\"\n  The discount is combined with a\n  [product discount](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\n  class.\n  \"\"\"\n  PRODUCT\n\n  \"\"\"\n  The discount is combined with a\n  [shipping discount](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\n  class.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA discount code used by the buyer to add a discount to the cart.\n\"\"\"\ninput DiscountCode {\n  \"\"\"\n  The discount code.\n  \"\"\"\n  code: String!\n}\n\n\"\"\"\nAn operation that selects which entered discount codes to accept. Use this to validate discount codes from external systems.\n\"\"\"\ninput EnteredDiscountCodesAcceptOperation {\n  \"\"\"\n  The list of discount codes to accept.\n  \"\"\"\n  codes: [DiscountCode!]!\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request.\n\"\"\"\ninput HttpRequest {\n  \"\"\"\n  The HTTP request body as a plain string.\n  Use this field when the body isn't in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpRequestHeader!]!\n\n  \"\"\"\n  The HTTP request body as a JSON object.\n  Use this field when the body's in JSON format, to reduce function instruction consumption\n  and to ensure the body's formatted in logs.\n  Don't use this field together with the `body` field. If both are provided, then the `body` field\n  will take precedence.\n  If this field is specified and no `Content-Type` header is included, then the header will\n  automatically be set to `application/json`.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP method.\n  \"\"\"\n  method: HttpRequestMethod!\n\n  \"\"\"\n  Policy attached to the HTTP request.\n  \"\"\"\n  policy: HttpRequestPolicy!\n\n  \"\"\"\n  The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.\n  \"\"\"\n  url: URL!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request header.\n\"\"\"\ninput HttpRequestHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nThe HTTP request available methods.\n\"\"\"\nenum HttpRequestMethod {\n  \"\"\"\n  Http GET.\n  \"\"\"\n  GET\n\n  \"\"\"\n  Http POST.\n  \"\"\"\n  POST\n}\n\n\"\"\"\nThe attributes associated with an HTTP request policy.\n\"\"\"\ninput HttpRequestPolicy {\n  \"\"\"\n  Read timeout in milliseconds.\n  \"\"\"\n  readTimeoutMs: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response.\n\"\"\"\ntype HttpResponse {\n  \"\"\"\n  The HTTP response body as a plain string.\n  Use this field when the body is not in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  An HTTP header.\n  \"\"\"\n  header(\n    \"\"\"\n    A case-insensitive header name.\n    \"\"\"\n    name: String!\n  ): HttpResponseHeader\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpResponseHeader!]! @deprecated(reason: \"Use `header` instead.\")\n\n  \"\"\"\n  The HTTP response body parsed as JSON. \n  If the body is valid JSON, it will be parsed and returned as a JSON object. \n  If parsing fails, then raw body is returned as a string. \n  Use this field when you expect the response to be JSON, or when you're dealing\n  with mixed response types, meaning both JSON and non-JSON.\n  Using this field reduces function instruction consumption and ensures that the data is formatted in logs.\n  To prevent increasing the function target input size unnecessarily, avoid querying\n  both `body` and `jsonBody` simultaneously.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP status code.\n  \"\"\"\n  status: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response header.\n\"\"\"\ntype HttpResponseHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the Function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The discount node that owns the [Shopify\n  Function](https://shopify.dev/docs/apps/build/functions). Discounts are a way\n  for merchants to promote sales and special offers, or as customer loyalty\n  rewards. A single discount can be automatic or code-based, and can be applied\n  to a cart lines, orders, and delivery.\n  \"\"\"\n  discount: Discount!\n\n  \"\"\"\n  The discount codes that customers enter at checkout. Customers can enter codes\n  as an array of strings, excluding gift cards. Codes aren't validated in any\n  way other than to verify they aren't gift cards. This input is only available\n  in the `cart.lines.discounts.generate.fetch` and\n  `cart.delivery-options.discounts.generate.fetch` extension targets.\n  \"\"\"\n  enteredDiscountCodes: [String!]! @restrictTarget(only: [\"cart.lines.discounts.generate.fetch\", \"cart.delivery-options.discounts.generate.fetch\"])\n\n  \"\"\"\n  The result of the fetch target. Refer to [network access](https://shopify.dev/apps/build/functions/input-output/network-access/graphql)\n  for Shopify Functions. This input is only available in the\n  `cart.lines.discounts.generate.run` and\n  `cart.delivery-options.discounts.generate.run` extension targets.\n  \"\"\"\n  fetchResult: HttpResponse @restrictTarget(only: [\"cart.lines.discounts.generate.run\", \"cart.delivery-options.discounts.generate.run\"])\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n\n  \"\"\"\n  The discount code entered by a customer, which caused the [Discount Function](https://shopify.dev/docs/apps/build/discounts#build-with-shopify-functions)) to run.\n  This input is only available in the `cart.lines.discounts.generate.run` and\n  `cart.delivery-options.discounts.generate.run` extension targets.\n  \"\"\"\n  triggeringDiscountCode: String @restrictTarget(only: [\"cart.lines.discounts.generate.run\", \"cart.delivery-options.discounts.generate.run\"])\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the cart.delivery-options.discounts.generate.fetch target.\n  \"\"\"\n  cartDeliveryOptionsDiscountsGenerateFetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartDeliveryOptionsDiscountsGenerateFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the cart.delivery-options.discounts.generate.run target.\n  \"\"\"\n  cartDeliveryOptionsDiscountsGenerateRun(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartDeliveryOptionsDiscountsGenerateRunResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the cart.lines.discounts.generate.fetch target.\n  \"\"\"\n  cartLinesDiscountsGenerateFetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartLinesDiscountsGenerateFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the cart.lines.discounts.generate.run target.\n  \"\"\"\n  cartLinesDiscountsGenerateRun(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartLinesDiscountsGenerateRunResult!\n  ): Void!\n}\n\n\"\"\"\nA discount candidate to be applied to an eligible order.\n\"\"\"\ninput OrderDiscountCandidate {\n  \"\"\"\n  The discount code associated with this discount candidate, for code-based discounts.\n  \"\"\"\n  associatedDiscountCode: AssociatedDiscountCode\n\n  \"\"\"\n  The conditions that must be satisfied for an order to be eligible for a discount candidate.\n  \"\"\"\n  conditions: [Condition!]\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The targets of the order discount candidate.\n  \"\"\"\n  targets: [OrderDiscountCandidateTarget!]!\n\n  \"\"\"\n  The value of the order discount candidate.\n  \"\"\"\n  value: OrderDiscountCandidateValue!\n}\n\n\"\"\"\nA target of an order to be eligible for a discount candidate.\n\"\"\"\ninput OrderDiscountCandidateTarget @oneOf {\n  \"\"\"\n  A method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\n  order before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\n  for a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n  \"\"\"\n  orderSubtotal: OrderSubtotalTarget\n}\n\n\"\"\"\nThe value of the order discount candidate.\n\"\"\"\ninput OrderDiscountCandidateValue @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nThe strategy that's applied to the list of order discount candidates.\n\"\"\"\nenum OrderDiscountSelectionStrategy {\n  \"\"\"\n  Only apply the first order discount candidate with conditions that are satisfied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the order discount candidate that offers the maximum reduction.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nAn operation that applies order discounts to a cart that share a selection strategy.\n\"\"\"\ninput OrderDiscountsAddOperation {\n  \"\"\"\n  The list of discounts that can be applied to an order.\n  \"\"\"\n  candidates: [OrderDiscountCandidate!]!\n\n  \"\"\"\n  The strategy that's applied to the list of discounts.\n  \"\"\"\n  selectionStrategy: OrderDiscountSelectionStrategy!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal amount of the order.\n\"\"\"\ninput OrderMinimumSubtotal {\n  \"\"\"\n  Cart line IDs with a merchandise line price that's excluded to calculate the minimum subtotal amount of the order.\n  \"\"\"\n  excludedCartLineIds: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the order to be eligible for the discount.\n  \"\"\"\n  minimumAmount: Decimal!\n}\n\n\"\"\"\nA method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\norder before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\nfor a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n\"\"\"\ninput OrderSubtotalTarget {\n  \"\"\"\n  The list of excluded cart line IDs. These cart lines are excluded from the order\n  subtotal calculation when calculating the maximum value of the discount.\n  \"\"\"\n  excludedCartLineIds: [ID!]!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nThe target and value of the discount to be applied to a cart line.\n\"\"\"\ninput ProductDiscountCandidate {\n  \"\"\"\n  The discount code associated with this discount candidate, for code-based discounts.\n  \"\"\"\n  associatedDiscountCode: AssociatedDiscountCode\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The targets of the discount to be applied to a cart line.\n  \"\"\"\n  targets: [ProductDiscountCandidateTarget!]!\n\n  \"\"\"\n  The value of the discount to be applied to a cart line. For example, a fixed\n  amount of $5 off or percentage value of 20% off.\n  \"\"\"\n  value: ProductDiscountCandidateValue!\n}\n\n\"\"\"\nThe [fixed-amount](https://help.shopify.com/manual/international/pricing/discounts)\nvalue of the discount to be applied to a cart line. For example, if the cart\ntotal is $100 and the discount is $10, then the fixed amount is $10.\n\"\"\"\ninput ProductDiscountCandidateFixedAmount {\n  \"\"\"\n  The [fixed-amount](https://help.shopify.com/manual/international/pricing/discounts) value of the discount to be applied to a cart line, in the currency of the\n  cart. The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Whether to apply the value of each eligible discount to each eligible cart line.\n\n  The default value is `false`, which causes the value to be applied once across the entitled items.\n  When the value is `true`, the value will be applied to each of the entitled items.\n  \"\"\"\n  appliesToEachItem: Boolean = false\n}\n\n\"\"\"\nDefines discount candidates, which are cart lines that may be eligible for\npotential discounts. Use discount candidates to identify items in a customer's\ncart that could receive discounts based on conditions in the selection strategy.\n\nWhen multiple cart lines share the same type and ID, the system treats them as a\nsingle target and combines their quantities. The combined quantity becomes null\nif any individual target has a `null` quantity.\n\"\"\"\ninput ProductDiscountCandidateTarget @oneOf {\n  \"\"\"\n  A method for applying a discount to a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLine: CartLineTarget\n}\n\n\"\"\"\nThe value of the discount candidate to be applied to a cart line.\n\"\"\"\ninput ProductDiscountCandidateValue @oneOf {\n  \"\"\"\n  The [fixed-amount](https://help.shopify.com/manual/international/pricing/discounts) value of the discount to be applied to a cart line. For example, if the cart\n  total is $100 and the discount is $10, then the fixed amount is $10.\n  \"\"\"\n  fixedAmount: ProductDiscountCandidateFixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nThe selection strategy that's applied to the list of discounts that are eligible for cart lines.\n\"\"\"\nenum ProductDiscountSelectionStrategy {\n  \"\"\"\n  Apply all the discount candidates to eligible cart lines. This doesn't override discount combination or stacking rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Apply the first discount candidate to cart lines that satisfies conditions.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Apply the discount to the cart line that offers the maximum reduction.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nAn operation that applies product discounts to a cart that share a selection strategy.\n\"\"\"\ninput ProductDiscountsAddOperation {\n  \"\"\"\n  The list of products that are eligible for the discount.\n  \"\"\"\n  candidates: [ProductDiscountCandidate!]!\n\n  \"\"\"\n  The strategy that's applied to the list of products that are eligible for the cart line discount.\n  \"\"\"\n  selectionStrategy: ProductDiscountSelectionStrategy!\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/rust/discount/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-04\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle | replace: \" \", \"-\" | downcase}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"cart.lines.discounts.generate.run\"\n  input_query = \"src/cart_lines_discounts_generate_run.graphql\"\n  export = \"cart_lines_discounts_generate_run\"\n\n  [[extensions.targeting]]\n  target = \"cart.delivery-options.discounts.generate.run\"\n  input_query = \"src/cart_delivery_options_discounts_generate_run.graphql\"\n  export = \"cart_delivery_options_discounts_generate_run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n"
  },
  {
    "path": "discounts/rust/discount/default/src/cart_delivery_options_discounts_generate_run.graphql.liquid",
    "content": "query Input {\n  cart {\n    deliveryGroups {\n      id\n    }\n  }\n  discount {\n    discountClasses\n  }\n}\n"
  },
  {
    "path": "discounts/rust/discount/default/src/cart_delivery_options_discounts_generate_run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\n#[shopify_function_target(\n    query_path = \"src/cart_delivery_options_discounts_generate_run.graphql\",\n    schema_path = \"schema.graphql\"\n)]\nfn cart_delivery_options_discounts_generate_run(\n    input: input::ResponseData,\n) -> Result<output::CartDeliveryOptionsDiscountsGenerateRunResult> {\n    let has_shipping_discount_class = input\n        .discount\n        .discount_classes\n        .contains(&input::DiscountClass::SHIPPING);\n    if !has_shipping_discount_class {\n        return Ok(output::CartDeliveryOptionsDiscountsGenerateRunResult { operations: vec![] });\n    }\n\n    let first_delivery_group = input\n        .cart\n        .delivery_groups\n        .first()\n        .ok_or(\"No delivery groups found\")?;\n\n    Ok(output::CartDeliveryOptionsDiscountsGenerateRunResult {\n        operations: vec![output::DeliveryOperation::DeliveryDiscountsAdd(\n            output::DeliveryDiscountsAddOperation {\n                selection_strategy: output::DeliveryDiscountSelectionStrategy::ALL,\n                candidates: vec![output::DeliveryDiscountCandidate {\n                    targets: vec![output::DeliveryDiscountCandidateTarget::DeliveryGroup(\n                        output::DeliveryGroupTarget {\n                            id: first_delivery_group.id.clone(),\n                        },\n                    )],\n                    value: output::DeliveryDiscountCandidateValue::Percentage(output::Percentage {\n                        value: Decimal(100.0),\n                    }),\n                    message: Some(\"FREE DELIVERY\".to_string()),\n                    associated_discount_code: None,\n                }],\n            },\n        )],\n    })\n}\n"
  },
  {
    "path": "discounts/rust/discount/default/src/cart_lines_discounts_generate_run.graphql.liquid",
    "content": "query Input {\n  cart {\n    lines {\n      id\n      cost {\n        subtotalAmount {\n          amount\n        }\n      }\n    }\n  }\n  discount {\n    discountClasses\n  }\n}\n"
  },
  {
    "path": "discounts/rust/discount/default/src/cart_lines_discounts_generate_run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\n#[shopify_function_target(\n    query_path = \"src/cart_lines_discounts_generate_run.graphql\",\n    schema_path = \"schema.graphql\"\n)]\nfn cart_lines_discounts_generate_run(\n    input: input::ResponseData,\n) -> Result<output::CartLinesDiscountsGenerateRunResult> {\n    let max_cart_line = input\n        .cart\n        .lines\n        .iter()\n        .max_by(|a, b| {\n            a.cost\n                .subtotal_amount\n                .amount\n                .partial_cmp(&b.cost.subtotal_amount.amount)\n                .unwrap_or(std::cmp::Ordering::Equal)\n        })\n        .ok_or(\"No cart lines found\")?;\n\n    let has_order_discount_class = input\n        .discount\n        .discount_classes\n        .contains(&input::DiscountClass::ORDER);\n    let has_product_discount_class = input\n        .discount\n        .discount_classes\n        .contains(&input::DiscountClass::PRODUCT);\n\n    if !has_order_discount_class && !has_product_discount_class {\n        return Ok(output::CartLinesDiscountsGenerateRunResult { operations: vec![] });\n    }\n\n    let mut operations = vec![];\n\n    // Check if the discount has the ORDER class\n    if has_order_discount_class {\n        operations.push(output::CartOperation::OrderDiscountsAdd(\n            output::OrderDiscountsAddOperation {\n                selection_strategy: output::OrderDiscountSelectionStrategy::FIRST,\n                candidates: vec![output::OrderDiscountCandidate {\n                    targets: vec![output::OrderDiscountCandidateTarget::OrderSubtotal(\n                        output::OrderSubtotalTarget {\n                            excluded_cart_line_ids: vec![],\n                        },\n                    )],\n                    message: Some(\"10% OFF ORDER\".to_string()),\n                    value: output::OrderDiscountCandidateValue::Percentage(output::Percentage {\n                        value: Decimal(10.0),\n                    }),\n                    conditions: None,\n                    associated_discount_code: None,\n                }],\n            },\n        ));\n    }\n\n    // Check if the discount has the PRODUCT class\n    if has_product_discount_class {\n        operations.push(output::CartOperation::ProductDiscountsAdd(\n            output::ProductDiscountsAddOperation {\n                selection_strategy: output::ProductDiscountSelectionStrategy::FIRST,\n                candidates: vec![output::ProductDiscountCandidate {\n                    targets: vec![output::ProductDiscountCandidateTarget::CartLine(\n                        output::CartLineTarget {\n                            id: max_cart_line.id.clone(),\n                            quantity: None,\n                        },\n                    )],\n                    message: Some(\"20% OFF PRODUCT\".to_string()),\n                    value: output::ProductDiscountCandidateValue::Percentage(output::Percentage {\n                        value: Decimal(20.0),\n                    }),\n                    associated_discount_code: None,\n                }],\n            },\n        ));\n    }\n\n    Ok(output::CartLinesDiscountsGenerateRunResult { operations })\n}\n"
  },
  {
    "path": "discounts/rust/discount/default/src/main.rs",
    "content": "use std::process;\npub mod cart_delivery_options_discounts_generate_run;\npub mod cart_lines_discounts_generate_run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "discounts/rust/discounts-allocator/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "discounts/rust/discounts-allocator/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "discounts/rust/discounts-allocator/default/README.md",
    "content": "# Shopify Function development with Rust\n\n## Dependencies\n\n- [Install Rust](https://www.rust-lang.org/tools/install)\n  - On Windows, Rust requires the [Microsoft C++ Build Tools](https://docs.microsoft.com/en-us/windows/dev-environment/rust/setup). Be sure to select the _Desktop development with C++_ workload when installing them.\n\n## Building the function\n\nYou can build this individual function using `cargo build`.\n\n```shell\ncargo build --target=wasm32-wasip1 --release\n```\n\nThe Shopify CLI `build` command will also execute this, based on the configuration in `shopify.extension.toml`.\n"
  },
  {
    "path": "discounts/rust/discounts-allocator/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/rust/discounts-allocator/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart implements HasMetafields {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The physical location where a retail order is created or completed.\n  \"\"\"\n  retailLocation: Location\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  The type of merchandise in the delivery group.\n  \"\"\"\n  groupType: CartDeliveryGroupType!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nDefines what type of merchandise is in the delivery group.\n\"\"\"\nenum CartDeliveryGroupType {\n  \"\"\"\n  The delivery group only contains merchandise that is either a one time purchase or a first delivery of\n  subscription merchandise.\n  \"\"\"\n  ONE_TIME_PURCHASE\n\n  \"\"\"\n  The delivery group only contains subscription merchandise.\n  \"\"\"\n  SUBSCRIPTION\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ntype CartLineTarget {\n  \"\"\"\n  The ID of the line to be discounted.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the items on this line to be discounted.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\ntype Discount implements HasMetafields {\n  \"\"\"\n  The discount code, for code-based discounts.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The strategy to use when considering discounts proposals.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The class of the discount.\n  \"\"\"\n  discountClass: DiscountClass!\n\n  \"\"\"\n  Proposals to evaluate as part of this discount.\n  \"\"\"\n  discountProposals: [DiscountProposal!]!\n\n  \"\"\"\n  The ID of the discount.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The discount title.\n  \"\"\"\n  title: String!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply all discounts with conditions that are met,\napply a discount only to the first line item in a cart that meets conditions,\nor apply only the discount that offers a maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Apply all discounts with conditions that are met. For example, you can use the `ALL` strategy to apply a\n  20% discount on a t-shirt, a $5 discount on a pair of shoes, and a 10% discount on a hat. The total\n  discount would be the sum of all three discounts, which would be applied to the order total. This strategy\n  doesn't override [discount combination](https://help.shopify.com/manual/discounts/discount-combinations)\n  rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nList of the classes of discounts.\n\"\"\"\nenum DiscountClass {\n  \"\"\"\n  A discount that applies to the order.\n  \"\"\"\n  ORDER\n\n  \"\"\"\n  A discount that applies to products.\n  \"\"\"\n  PRODUCT\n}\n\n\"\"\"\nThe input object for the Function.\n\"\"\"\ntype DiscountProposal {\n  \"\"\"\n  The handle of the discount proposal.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The message for this proposal.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The line items to which the discount proposal applies.\n  \"\"\"\n  targets: [CartLineTarget!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\ninput DisplayableError {\n  \"\"\"\n  The ID of the discount that caused this violation.\n  \"\"\"\n  discountId: ID!\n\n  \"\"\"\n  The error message in the user's locale.\n  \"\"\"\n  reason: String!\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ntype FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Allocation method of the discount, will be allocated on each line if it's\n  true, else will be allocated across target lines.\n  \"\"\"\n  appliesToEachItem: Boolean!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains a list of discounts that apply to each item in a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  A list of errors that display if a discount can't be applied to one or more\n  items in a cart. Errors lock checkout, and the customer has to remove the discount code to\n  proceed through checkout.\n\n  Shopify shows errors for only\n  [code discounts](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountCodeNode).\n  Custom error messages aren't currently supported. If errors are returned with a custom reason,\n  then the error won't display and the discount won't be added.\n  \"\"\"\n  displayableErrors: [DisplayableError!]\n\n  \"\"\"\n  The list of discounts that are applied to each item in a cart.\n  It includes data such as the ID of the cart line associated with the discount,\n  the quantity of items that the discount applies to,\n  and how the discount is allocated to each item.\n  \"\"\"\n  lineDiscounts: [LineDiscount!]\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the Function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The information about promotional offers that are applied to items in a cart,\n  such as the discount's name that displays to merchants in the\n  Shopify admin and to customers,\n  the [discount code](https://help.shopify.com/manual/discounts/discount-types/discount-codes),\n  the [discount class](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations),\n  and [metafields](https://shopify.dev/docs/apps/build/custom-data) that are associated\n  with discounts.\n  \"\"\"\n  discounts: [Discount!]\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\ninput LineDiscount {\n  \"\"\"\n  The output allocations for this line discount.\n  \"\"\"\n  allocations: [OutputAllocations!]!\n\n  \"\"\"\n  The ID of the cart line associated to this discount.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity to which this line discount will apply.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nLocal pickup settings associated with a location.\n\"\"\"\ntype LocalPickup {\n  \"\"\"\n  Whether local pickup is enabled for the location.\n  \"\"\"\n  enabled: Boolean!\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Local pickup settings associated with a location.\n  \"\"\"\n  localPickup: LocalPickup!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the purchase.discounts-allocator.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\ninput OutputAllocations {\n  \"\"\"\n  The money amount that's allocated to a line based on the associated discount.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The ID of the source discount proposal.\n  \"\"\"\n  discountProposalId: Handle!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ntype Percentage {\n  \"\"\"\n  The percentage value.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\nunion Value = FixedAmount | Percentage\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/rust/discounts-allocator/default/shopify.extension.toml.liquid",
    "content": "api_version = \"unstable\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.discounts-allocator.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/rust/discounts-allocator/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "discounts/rust/discounts-allocator/default/src/run.graphql.liquid",
    "content": "query Input {\n  shop {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/rust/discounts-allocator/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(_input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let no_discounts = output::FunctionRunResult {\n        line_discounts: Some(vec![]),\n        displayable_errors: Some(vec![]),\n    };\n\n    Ok(no_discounts)\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::run_function_with_input;\n\n    #[test]\n    fn test_result_with_no_discounts() -> Result<()> {\n        use run::output;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n            {\n              \"shop\": {\n                \"metafield\": null\n              }\n            }\n            \"#,\n        )?;\n        let expected = output::FunctionRunResult {\n            line_discounts: Some(vec![]),\n            displayable_errors: Some(vec![]),\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "discounts/rust/order-discounts/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "discounts/rust/order-discounts/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "discounts/rust/order-discounts/default/README.md",
    "content": "# Shopify Function development with Rust\n\n## Dependencies\n\n- [Install Rust](https://www.rust-lang.org/tools/install)\n  - On Windows, Rust requires the [Microsoft C++ Build Tools](https://docs.microsoft.com/en-us/windows/dev-environment/rust/setup). Be sure to select the _Desktop development with C++_ workload when installing them.\n\n## Building the function\n\nYou can build this individual function using `cargo build`.\n\n```shell\ncargo build --target=wasm32-wasip1 --release\n```\n\nThe Shopify CLI `build` command will also execute this, based on the configuration in `shopify.extension.toml`.\n"
  },
  {
    "path": "discounts/rust/order-discounts/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/rust/order-discounts/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe criteria or rules that must be met for a discount to be applied to an order.\nFor example, conditions can include minimum purchase amounts, specific product selections, or\ncustomer eligibility.\n\"\"\"\ninput Condition @oneOf {\n  \"\"\"\n  The condition for checking the minimum subtotal amount of the order.\n  \"\"\"\n  orderMinimumSubtotal: OrderMinimumSubtotal\n\n  \"\"\"\n  The condition for checking the minimum quantity of a product.\n  \"\"\"\n  productMinimumQuantity: ProductMinimumQuantity\n\n  \"\"\"\n  The condition for checking the minimum subtotal amount of the product.\n  \"\"\"\n  productMinimumSubtotal: ProductMinimumSubtotal\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA price reduction applied to an order.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  The criteria or rules that must be met for a discount to be applied to an order.\n  For example, conditions can include minimum purchase amounts, specific product selections, or\n  customer eligibility.\n  \"\"\"\n  conditions: [Condition!]\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to an order. This argument accepts either a single\n  `OrderSubtotalTarget` or one or more `ProductVariantTarget`s, but not both.\n\n  The `OrderSubtotalTarget` is used to target the subtotal of the order. The subtotal is the total amount\n  of the order before any taxes, shipping fees, or discounts are applied. For example, if a customer\n  places an order for a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n\n  The `ProductVariantTarget` is used to target specific product variants within the order. Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply a discount to the first line item in a cart that meets conditions,\nor apply the discount that offers the maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply a discount to the first line item in a cart that meets conditions,\n  or apply the discount that offers the maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply a discount to the first line item in a cart that meets conditions,\n  or apply the discount that offers the maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.order-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal amount of the order.\n\"\"\"\ninput OrderMinimumSubtotal {\n  \"\"\"\n  Variant IDs with a merchandise line price that's excluded to calculate the minimum subtotal amount of the order.\n  \"\"\"\n  excludedVariantIds: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the order.\n  \"\"\"\n  minimumAmount: Decimal!\n\n  \"\"\"\n  The target type of the condition.\n\n   The value is validated against: = \"ORDER_SUBTOTAL\".\n  \"\"\"\n  targetType: TargetType!\n}\n\n\"\"\"\nA method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\norder before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\nfor a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n\"\"\"\ninput OrderSubtotalTarget {\n  \"\"\"\n  The list of excluded product variant IDs. Cart lines for these product variants are excluded from the order\n  subtotal calculation when calculating the maximum value of the discount.\n  \"\"\"\n  excludedVariantIds: [ID!]!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nThe condition for checking the minimum quantity of a product.\n\"\"\"\ninput ProductMinimumQuantity {\n  \"\"\"\n  Variant IDs with a merchandise line price that's included to calculate the minimum quantity of the product.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum quantity of a product.\n  \"\"\"\n  minimumQuantity: Int!\n\n  \"\"\"\n  The target type of the condition.\n\n  The value is validated against: = \"PRODUCT_VARIANT\".\n  \"\"\"\n  targetType: TargetType!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal amount of the product.\n\"\"\"\ninput ProductMinimumSubtotal {\n  \"\"\"\n  Variant IDs with a merchandise line price that's included to calculate the minimum subtotal amount of a product.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the product.\n  \"\"\"\n  minimumAmount: Decimal!\n\n  \"\"\"\n  The target type of the condition.\n\n  The value is validated against: = \"PRODUCT_VARIANT\".\n  \"\"\"\n  targetType: TargetType!\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nA method for applying a discount to a\n[product variant](https://help.shopify.com/manual/products/variants). Product variants\nare the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\nin a specific size and color, the t-shirt is a product variant. The discount can be applied to all\nproduct variants in the order, or to specific product variants that meet certain criteria.\n\"\"\"\ninput ProductVariantTarget {\n  \"\"\"\n  The ID of the targeted product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The maximum number of line item units to be discounted.\n  The default value is `null`, which represents the total quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe method for applying the discount to an order. This argument accepts either a single\n`OrderSubtotalTarget` or one or more `ProductVariantTarget`s, but not both.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\n  order before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\n  for a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n  \"\"\"\n  orderSubtotal: OrderSubtotalTarget\n\n  \"\"\"\n  A method for applying a discount to a\n  [product variant](https://help.shopify.com/manual/products/variants). Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  productVariant: ProductVariantTarget\n}\n\n\"\"\"\nThe target type of a condition.\n\"\"\"\nenum TargetType {\n  \"\"\"\n  The target is the subtotal of the order.\n  \"\"\"\n  ORDER_SUBTOTAL\n\n  \"\"\"\n  The target is a product variant.\n  \"\"\"\n  PRODUCT_VARIANT\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/rust/order-discounts/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.order-discount.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/rust/order-discounts/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "discounts/rust/order-discounts/default/src/run.graphql.liquid",
    "content": "query Input {\n  discountNode {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/rust/order-discounts/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[serde(rename_all(deserialize = \"camelCase\"))]\nstruct Configuration {}\n\nimpl Configuration {\n    fn from_str(value: &str) -> Self {\n        serde_json::from_str(value).expect(\"Unable to parse configuration value from metafield\")\n    }\n}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let no_discount = output::FunctionRunResult {\n        discounts: vec![],\n        discount_application_strategy: output::DiscountApplicationStrategy::FIRST,\n    };\n\n    let _config = match input.discount_node.metafield {\n        Some(input::InputDiscountNodeMetafield { value }) => Configuration::from_str(&value),\n        None => return Ok(no_discount),\n    };\n\n    Ok(output::FunctionRunResult {\n        discounts: vec![],\n        discount_application_strategy: output::DiscountApplicationStrategy::FIRST,\n    })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_result_contains_no_discounts() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"discountNode\": {\n                        \"metafield\": null\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult {\n            discounts: vec![],\n            discount_application_strategy: DiscountApplicationStrategy::FIRST,\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "discounts/rust/product-discounts/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "discounts/rust/product-discounts/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "discounts/rust/product-discounts/default/README.md",
    "content": "# Shopify Function development with Rust\n\n## Dependencies\n\n- [Install Rust](https://www.rust-lang.org/tools/install)\n  - On Windows, Rust requires the [Microsoft C++ Build Tools](https://docs.microsoft.com/en-us/windows/dev-environment/rust/setup). Be sure to select the _Desktop development with C++_ workload when installing them.\n\n## Building the function\n\nYou can build this individual function using `cargo build`.\n\n```shell\ncargo build --target=wasm32-wasip1 --release\n```\n\nThe Shopify CLI `build` command will also execute this, based on the configuration in `shopify.extension.toml`.\n"
  },
  {
    "path": "discounts/rust/product-discounts/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/rust/product-discounts/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nA method for applying a discount to a specific line item in the cart. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ninput CartLineTarget {\n  \"\"\"\n  The ID of the targeted cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The number of line items that are being discounted.\n  The default value is `null`, which represents the quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA price reduction applied to a product.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to products. This argument accepts a collection of either\n  `ProductVariantTarget` or `CartLineTarget`, but not both.\n\n  The `ProductVariantTarget` is used to target a specific product variant. A product variant is a specific\n  version of a product that comes in more than one option, such as size or color. For example, if a merchant\n  sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant\n  and a large, blue t-shirt would be another.\n\n  The `CartLineTarget` is used to target a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply all discounts with conditions that are met,\napply a discount only to the first line item in a cart that meets conditions,\nor apply only the discount that offers a maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Apply all discounts with conditions that are met. For example, you can use the `ALL` strategy to apply a\n  20% discount on a t-shirt, a $5 discount on a pair of shoes, and a 10% discount on a hat. The total\n  discount would be the sum of all three discounts, which would be applied to the order total. This strategy\n  doesn't override [discount combination](https://help.shopify.com/manual/discounts/discount-combinations)\n  rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Whether to apply the value to each entitled item.\n\n  The default value is `false`, which causes the value to be applied once across the entitled items.\n  When the value is `true`, the value will be applied to each of the entitled items.\n  \"\"\"\n  appliesToEachItem: Boolean\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply all discounts with conditions that are met,\n  apply a discount only to the first line item in a cart that meets conditions,\n  or apply only the discount that offers a maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply all discounts with conditions that are met,\n  apply a discount only to the first line item in a cart that meets conditions,\n  or apply only the discount that offers a maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.product-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nA method for applying a discount to a\n[product variant](https://help.shopify.com/manual/products/variants). Product variants\nare the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\nin a specific size and color, the t-shirt is a product variant. The discount can be applied to all\nproduct variants in the order, or to specific product variants that meet certain criteria.\n\"\"\"\ninput ProductVariantTarget {\n  \"\"\"\n  The ID of the targeted product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The maximum number of line item units to be discounted.\n  The default value is `null`, which represents the total quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe method for applying the discount to products. This argument accepts a collection of either\n`ProductVariantTarget` or `CartLineTarget`, but not both.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLine: CartLineTarget\n\n  \"\"\"\n  A method for applying a discount to a\n  [product variant](https://help.shopify.com/manual/products/variants). Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  productVariant: ProductVariantTarget\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/rust/product-discounts/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.product-discount.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/rust/product-discounts/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "discounts/rust/product-discounts/default/src/run.graphql.liquid",
    "content": "query Input {\n  discountNode {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/rust/product-discounts/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[serde(rename_all(deserialize = \"camelCase\"))]\nstruct Configuration {}\n\nimpl Configuration {\n    fn from_str(value: &str) -> Self {\n        serde_json::from_str(value).expect(\"Unable to parse configuration value from metafield\")\n    }\n}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let no_discount = output::FunctionRunResult {\n        discounts: vec![],\n        discount_application_strategy: output::DiscountApplicationStrategy::FIRST,\n    };\n\n    let _config = match input.discount_node.metafield {\n        Some(input::InputDiscountNodeMetafield { value }) => Configuration::from_str(&value),\n        None => return Ok(no_discount),\n    };\n\n    Ok(output::FunctionRunResult {\n        discounts: vec![],\n        discount_application_strategy: output::DiscountApplicationStrategy::FIRST,\n    })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_result_contains_no_discounts() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"discountNode\": {\n                        \"metafield\": null\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult {\n            discounts: vec![],\n            discount_application_strategy: DiscountApplicationStrategy::FIRST,\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "discounts/rust/shipping-discounts/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "discounts/rust/shipping-discounts/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "discounts/rust/shipping-discounts/default/README.md",
    "content": "# Shopify Function development with Rust\n\n## Dependencies\n\n- [Install Rust](https://www.rust-lang.org/tools/install)\n  - On Windows, Rust requires the [Microsoft C++ Build Tools](https://docs.microsoft.com/en-us/windows/dev-environment/rust/setup). Be sure to select the _Desktop development with C++_ workload when installing them.\n\n## Building the function\n\nYou can build this individual function using `cargo build`.\n\n```shell\ncargo build --target=wasm32-wasip1 --release\n```\n\nThe Shopify CLI `build` command will also execute this, based on the configuration in `shopify.extension.toml`.\n"
  },
  {
    "path": "discounts/rust/shipping-discounts/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/rust/shipping-discounts/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA method for applying a discount to a delivery group. Delivery groups streamline\nfulfillment by organizing items that can be shipped together, based on the customer's shipping address.\nFor example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\nitems are included in the same delivery group.\n\"\"\"\ninput DeliveryGroupTarget {\n  \"\"\"\n  The ID of the target delivery group.\n  \"\"\"\n  id: ID!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA method for applying a discount to a delivery option within a delivery group.\nDelivery options are the different ways that customers can choose to have their\norders shipped. Examples of delivery options include express shipping or standard shipping.\n\"\"\"\ninput DeliveryOptionTarget {\n  \"\"\"\n  The handle of the target delivery option.\n  \"\"\"\n  handle: Handle!\n}\n\n\"\"\"\nA price reduction applied to shipping costs.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to shipping costs. This argument accepts a collection of either\n  `DeliveryGroupTarget` or `DeliveryOptionTarget`, but not both.\n\n  The `DeliveryGroupTarget` is used to target a specific delivery group. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's shipping address.\n  For example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\n  items are included in the same delivery group.\n\n  The `DeliveryOptionTarget` is used to target a specific delivery option within a delivery group.\n  Delivery options are the different ways that customers can choose to have their\n  orders shipped. Examples of delivery options include express shipping or standard shipping.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts to apply to shipping costs. In API\nversions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts to apply to shipping costs.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.shipping-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe method for applying the discount to shipping costs. This argument accepts a collection of either\n`DeliveryGroupTarget` or `DeliveryOptionTarget`, but not both.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to a delivery group. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's shipping address.\n  For example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\n  items are included in the same delivery group.\n  \"\"\"\n  deliveryGroup: DeliveryGroupTarget\n\n  \"\"\"\n  A method for applying a discount to a delivery option within a delivery group.\n  Delivery options are the different ways that customers can choose to have their\n  orders shipped. Examples of delivery options include express shipping or standard shipping.\n  \"\"\"\n  deliveryOption: DeliveryOptionTarget\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/rust/shipping-discounts/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.shipping-discount.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/rust/shipping-discounts/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "discounts/rust/shipping-discounts/default/src/run.graphql.liquid",
    "content": "query Input {\n  discountNode {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/rust/shipping-discounts/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[serde(rename_all(deserialize = \"camelCase\"))]\nstruct Configuration {}\n\nimpl Configuration {\n    fn from_str(value: &str) -> Self {\n        serde_json::from_str(value).expect(\"Unable to parse configuration value from metafield\")\n    }\n}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let no_discount = output::FunctionRunResult { discounts: vec![] };\n\n    let _config = match input.discount_node.metafield {\n        Some(input::InputDiscountNodeMetafield { value }) => Configuration::from_str(&value),\n        None => return Ok(no_discount),\n    };\n\n    Ok(output::FunctionRunResult { discounts: vec![] })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_result_contains_no_discounts() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"discountNode\": {\n                        \"metafield\": null\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult { discounts: vec![] };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "discounts/wasm/discount/default/cart_delivery_options_generate_run.graphql.liquid",
    "content": "query Input {\n  cart {\n    deliveryGroups {\n      id\n    }\n  }\n  discount {\n    discountClasses\n  }\n}\n"
  },
  {
    "path": "discounts/wasm/discount/default/cart_lines_discounts_generate_run.graphql.liquid",
    "content": "query Input {\n  cart {\n    lines {\n      id\n      cost {\n        subtotalAmount {\n          amount\n        }\n      }\n    }\n  }\n  discount {\n    discountClasses\n  }\n}\n"
  },
  {
    "path": "discounts/wasm/discount/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/wasm/discount/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA discount code that is associated with a discount candidate.\n\"\"\"\ninput AssociatedDiscountCode {\n  \"\"\"\n  The discount code.\n  \"\"\"\n  code: String!\n}\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart.delivery-options.discounts.generate.fetch target result. Refer to [network access](https://shopify.dev/apps/build/functions/input-output/network-access/graphql)\nfor Shopify Functions.\n\"\"\"\ninput CartDeliveryOptionsDiscountsGenerateFetchResult {\n  \"\"\"\n  The attributes associated with an HTTP request.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe cart.delivery-options.discounts.generate.run target result.\n\"\"\"\ninput CartDeliveryOptionsDiscountsGenerateRunResult {\n  \"\"\"\n  An ordered list of operations to generate delivery discounts, such as validating and applying discounts to the cart.\n  \"\"\"\n  operations: [DeliveryOperation!]!\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nThe condition for checking the minimum quantity of products across a group of cart lines.\n\"\"\"\ninput CartLineMinimumQuantity {\n  \"\"\"\n  Cart line IDs with a merchandise line price that's included to calculate the\n  minimum quantity purchased to receive the discount.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum quantity of a cart line to be eligible for a discount candidate.\n  \"\"\"\n  minimumQuantity: Int!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal of products across a group of cart lines.\n\"\"\"\ninput CartLineMinimumSubtotal {\n  \"\"\"\n  Cart line IDs with a merchandise line price that's included to calculate the\n  minimum subtotal purchased to receive the discount.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the cart line to be eligible for a discount candidate.\n  \"\"\"\n  minimumAmount: Decimal!\n}\n\n\"\"\"\nA method for applying a discount to a specific line item in the cart. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ninput CartLineTarget {\n  \"\"\"\n  The ID of the targeted cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The number of line items that are being discounted.\n  The default value is `null`, which represents the quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe cart.lines.discounts.generate.fetch target result. Refer to [network access](https://shopify.dev/apps/build/functions/input-output/network-access/graphql)\nfor Shopify Functions.\n\"\"\"\ninput CartLinesDiscountsGenerateFetchResult {\n  \"\"\"\n  The HTTP request object.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe cart.lines.discounts.generate.run target result.\n\"\"\"\ninput CartLinesDiscountsGenerateRunResult {\n  \"\"\"\n  The list of operations to apply discounts to the cart.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe operations that can be performed to apply discounts to the cart.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that selects which entered discount codes to accept. Use this to\n  validate discount codes from external systems.\n  \"\"\"\n  enteredDiscountCodesAccept: EnteredDiscountCodesAcceptOperation\n\n  \"\"\"\n  An operation that applies order discounts to a cart that share a selection strategy.\n  \"\"\"\n  orderDiscountsAdd: OrderDiscountsAddOperation\n\n  \"\"\"\n  An operation that applies product discounts to a cart that share a selection strategy.\n  \"\"\"\n  productDiscountsAdd: ProductDiscountsAddOperation\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe conditions that satisfy the discount candidate to be applied to a cart line.\n\"\"\"\ninput Condition @oneOf {\n  \"\"\"\n  The condition for checking the minimum quantity of products across a group of cart lines.\n  \"\"\"\n  cartLineMinimumQuantity: CartLineMinimumQuantity\n\n  \"\"\"\n  The condition for checking the minimum subtotal of products across a group of cart lines.\n  \"\"\"\n  cartLineMinimumSubtotal: CartLineMinimumSubtotal\n\n  \"\"\"\n  The condition for checking the minimum subtotal amount of the order.\n  \"\"\"\n  orderMinimumSubtotal: OrderMinimumSubtotal\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nThe discount that's eligible to be applied to a delivery.\n\"\"\"\ninput DeliveryDiscountCandidate {\n  \"\"\"\n  The discount code that's eligible to be applied to a delivery.\n  \"\"\"\n  associatedDiscountCode: AssociatedDiscountCode\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The targets of the discount that are eligible to be applied to a delivery.\n  \"\"\"\n  targets: [DeliveryDiscountCandidateTarget!]!\n\n  \"\"\"\n  The value of the discount that's eligible to be applied to a delivery.\n  \"\"\"\n  value: DeliveryDiscountCandidateValue!\n}\n\n\"\"\"\nThe target of the eligible delivery discount.\n\"\"\"\ninput DeliveryDiscountCandidateTarget @oneOf {\n  \"\"\"\n  A method for applying a discount to a delivery group. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's shipping address.\n  For example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\n  items are included in the same delivery group.\n  \"\"\"\n  deliveryGroup: DeliveryGroupTarget\n\n  \"\"\"\n  A method for applying a discount to a delivery option within a delivery group.\n  Delivery options are the different ways that customers can choose to have their\n  orders shipped. Examples of delivery options include express shipping or standard shipping.\n  \"\"\"\n  deliveryOption: DeliveryOptionTarget\n}\n\n\"\"\"\nThe value of the eligible delivery discount.\n\"\"\"\ninput DeliveryDiscountCandidateValue @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nThe strategy that's applied to the list of discounts that are eligible to be applied to a delivery.\n\"\"\"\nenum DeliveryDiscountSelectionStrategy {\n  \"\"\"\n  Apply all discounts that are eligible to be applied to a delivery with\n  conditions that are satisfied. This doesn't override\n  discount combination or stacking rules.\n  \"\"\"\n  ALL\n}\n\n\"\"\"\nApplies delivery discounts to a cart that share a method for determining which\nshipping and delivery discounts to apply when multiple discounts are eligible.\n\"\"\"\ninput DeliveryDiscountsAddOperation {\n  \"\"\"\n  The list of discounts that are eligible to be applied to a delivery.\n  \"\"\"\n  candidates: [DeliveryDiscountCandidate!]!\n\n  \"\"\"\n  The method for determining which shipping and delivery discounts to apply when\n  multiple discounts are eligible. For example, when the \"ALL\" strategy is\n  selected, every shipping and delivery discount that qualifies is applied to\n  the cart (for example, free shipping on orders over $50 and $5 off express\n  shipping). This controls how shipping and delivery discounts interact when\n  multiple conditions are satisfied simultaneously.\n  \"\"\"\n  selectionStrategy: DeliveryDiscountSelectionStrategy!\n}\n\n\"\"\"\nA method for applying a discount to a delivery group. Delivery groups streamline\nfulfillment by organizing items that can be shipped together, based on the customer's shipping address.\nFor example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\nitems are included in the same delivery group.\n\"\"\"\ninput DeliveryGroupTarget {\n  \"\"\"\n  The ID of the target delivery group.\n  \"\"\"\n  id: ID!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe operations to apply discounts to shipping and delivery charges in a\ncustomer's cart. These operations allow you to reduce the cost of shipping by\napplying percentage or fixed-amount discounts to specific delivery options (such\nas standard shipping and express shipping) or delivery groups (such as\ncollections of delivery options).\n\"\"\"\ninput DeliveryOperation @oneOf {\n  \"\"\"\n  Applies delivery discounts to a cart that share a method for determining which\n  shipping and delivery discounts to apply when multiple discounts are eligible.\n  \"\"\"\n  deliveryDiscountsAdd: DeliveryDiscountsAddOperation\n\n  \"\"\"\n  An operation that selects which entered discount codes to accept. Use this to\n  validate discount codes from external systems.\n  \"\"\"\n  enteredDiscountCodesAccept: EnteredDiscountCodesAcceptOperation\n}\n\n\"\"\"\nA method for applying a discount to a delivery option within a delivery group.\nDelivery options are the different ways that customers can choose to have their\norders shipped. Examples of delivery options include express shipping or standard shipping.\n\"\"\"\ninput DeliveryOptionTarget {\n  \"\"\"\n  The handle of the target delivery option.\n  \"\"\"\n  handle: Handle!\n}\n\n\"\"\"\nThe discount that invoked the [Discount Function](https://shopify.dev/docs/apps/build/discounts#build-with-shopify-functions)).\n\"\"\"\ntype Discount implements HasMetafields {\n  \"\"\"\n  The [discount classes](https://shopify.dev/docs/apps/build/discounts/#discount-classes)) that the [discountNode](https://shopify.dev/docs/api/admin-graphql/latest/queries/discountNode)) supports.\n  \"\"\"\n  discountClasses: [DiscountClass!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe [discount class](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\nthat's used to control how discounts can be combined.\n\"\"\"\nenum DiscountClass {\n  \"\"\"\n  The discount is combined with an\n  [order discount](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\n  class.\n  \"\"\"\n  ORDER\n\n  \"\"\"\n  The discount is combined with a\n  [product discount](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\n  class.\n  \"\"\"\n  PRODUCT\n\n  \"\"\"\n  The discount is combined with a\n  [shipping discount](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations)\n  class.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA discount code used by the buyer to add a discount to the cart.\n\"\"\"\ninput DiscountCode {\n  \"\"\"\n  The discount code.\n  \"\"\"\n  code: String!\n}\n\n\"\"\"\nAn operation that selects which entered discount codes to accept. Use this to validate discount codes from external systems.\n\"\"\"\ninput EnteredDiscountCodesAcceptOperation {\n  \"\"\"\n  The list of discount codes to accept.\n  \"\"\"\n  codes: [DiscountCode!]!\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request.\n\"\"\"\ninput HttpRequest {\n  \"\"\"\n  The HTTP request body as a plain string.\n  Use this field when the body isn't in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpRequestHeader!]!\n\n  \"\"\"\n  The HTTP request body as a JSON object.\n  Use this field when the body's in JSON format, to reduce function instruction consumption\n  and to ensure the body's formatted in logs.\n  Don't use this field together with the `body` field. If both are provided, then the `body` field\n  will take precedence.\n  If this field is specified and no `Content-Type` header is included, then the header will\n  automatically be set to `application/json`.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP method.\n  \"\"\"\n  method: HttpRequestMethod!\n\n  \"\"\"\n  Policy attached to the HTTP request.\n  \"\"\"\n  policy: HttpRequestPolicy!\n\n  \"\"\"\n  The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.\n  \"\"\"\n  url: URL!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request header.\n\"\"\"\ninput HttpRequestHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nThe HTTP request available methods.\n\"\"\"\nenum HttpRequestMethod {\n  \"\"\"\n  Http GET.\n  \"\"\"\n  GET\n\n  \"\"\"\n  Http POST.\n  \"\"\"\n  POST\n}\n\n\"\"\"\nThe attributes associated with an HTTP request policy.\n\"\"\"\ninput HttpRequestPolicy {\n  \"\"\"\n  Read timeout in milliseconds.\n  \"\"\"\n  readTimeoutMs: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response.\n\"\"\"\ntype HttpResponse {\n  \"\"\"\n  The HTTP response body as a plain string.\n  Use this field when the body is not in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  An HTTP header.\n  \"\"\"\n  header(\n    \"\"\"\n    A case-insensitive header name.\n    \"\"\"\n    name: String!\n  ): HttpResponseHeader\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpResponseHeader!]! @deprecated(reason: \"Use `header` instead.\")\n\n  \"\"\"\n  The HTTP response body parsed as JSON. \n  If the body is valid JSON, it will be parsed and returned as a JSON object. \n  If parsing fails, then raw body is returned as a string. \n  Use this field when you expect the response to be JSON, or when you're dealing\n  with mixed response types, meaning both JSON and non-JSON.\n  Using this field reduces function instruction consumption and ensures that the data is formatted in logs.\n  To prevent increasing the function target input size unnecessarily, avoid querying\n  both `body` and `jsonBody` simultaneously.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP status code.\n  \"\"\"\n  status: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response header.\n\"\"\"\ntype HttpResponseHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the Function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The discount node that owns the [Shopify\n  Function](https://shopify.dev/docs/apps/build/functions). Discounts are a way\n  for merchants to promote sales and special offers, or as customer loyalty\n  rewards. A single discount can be automatic or code-based, and can be applied\n  to a cart lines, orders, and delivery.\n  \"\"\"\n  discount: Discount!\n\n  \"\"\"\n  The discount codes that customers enter at checkout. Customers can enter codes\n  as an array of strings, excluding gift cards. Codes aren't validated in any\n  way other than to verify they aren't gift cards. This input is only available\n  in the `cart.lines.discounts.generate.fetch` and\n  `cart.delivery-options.discounts.generate.fetch` extension targets.\n  \"\"\"\n  enteredDiscountCodes: [String!]! @restrictTarget(only: [\"cart.lines.discounts.generate.fetch\", \"cart.delivery-options.discounts.generate.fetch\"])\n\n  \"\"\"\n  The result of the fetch target. Refer to [network access](https://shopify.dev/apps/build/functions/input-output/network-access/graphql)\n  for Shopify Functions. This input is only available in the\n  `cart.lines.discounts.generate.run` and\n  `cart.delivery-options.discounts.generate.run` extension targets.\n  \"\"\"\n  fetchResult: HttpResponse @restrictTarget(only: [\"cart.lines.discounts.generate.run\", \"cart.delivery-options.discounts.generate.run\"])\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n\n  \"\"\"\n  The discount code entered by a customer, which caused the [Discount Function](https://shopify.dev/docs/apps/build/discounts#build-with-shopify-functions)) to run.\n  This input is only available in the `cart.lines.discounts.generate.run` and\n  `cart.delivery-options.discounts.generate.run` extension targets.\n  \"\"\"\n  triggeringDiscountCode: String @restrictTarget(only: [\"cart.lines.discounts.generate.run\", \"cart.delivery-options.discounts.generate.run\"])\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the cart.delivery-options.discounts.generate.fetch target.\n  \"\"\"\n  cartDeliveryOptionsDiscountsGenerateFetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartDeliveryOptionsDiscountsGenerateFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the cart.delivery-options.discounts.generate.run target.\n  \"\"\"\n  cartDeliveryOptionsDiscountsGenerateRun(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartDeliveryOptionsDiscountsGenerateRunResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the cart.lines.discounts.generate.fetch target.\n  \"\"\"\n  cartLinesDiscountsGenerateFetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartLinesDiscountsGenerateFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the cart.lines.discounts.generate.run target.\n  \"\"\"\n  cartLinesDiscountsGenerateRun(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: CartLinesDiscountsGenerateRunResult!\n  ): Void!\n}\n\n\"\"\"\nA discount candidate to be applied to an eligible order.\n\"\"\"\ninput OrderDiscountCandidate {\n  \"\"\"\n  The discount code associated with this discount candidate, for code-based discounts.\n  \"\"\"\n  associatedDiscountCode: AssociatedDiscountCode\n\n  \"\"\"\n  The conditions that must be satisfied for an order to be eligible for a discount candidate.\n  \"\"\"\n  conditions: [Condition!]\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The targets of the order discount candidate.\n  \"\"\"\n  targets: [OrderDiscountCandidateTarget!]!\n\n  \"\"\"\n  The value of the order discount candidate.\n  \"\"\"\n  value: OrderDiscountCandidateValue!\n}\n\n\"\"\"\nA target of an order to be eligible for a discount candidate.\n\"\"\"\ninput OrderDiscountCandidateTarget @oneOf {\n  \"\"\"\n  A method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\n  order before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\n  for a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n  \"\"\"\n  orderSubtotal: OrderSubtotalTarget\n}\n\n\"\"\"\nThe value of the order discount candidate.\n\"\"\"\ninput OrderDiscountCandidateValue @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nThe strategy that's applied to the list of order discount candidates.\n\"\"\"\nenum OrderDiscountSelectionStrategy {\n  \"\"\"\n  Only apply the first order discount candidate with conditions that are satisfied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the order discount candidate that offers the maximum reduction.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nAn operation that applies order discounts to a cart that share a selection strategy.\n\"\"\"\ninput OrderDiscountsAddOperation {\n  \"\"\"\n  The list of discounts that can be applied to an order.\n  \"\"\"\n  candidates: [OrderDiscountCandidate!]!\n\n  \"\"\"\n  The strategy that's applied to the list of discounts.\n  \"\"\"\n  selectionStrategy: OrderDiscountSelectionStrategy!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal amount of the order.\n\"\"\"\ninput OrderMinimumSubtotal {\n  \"\"\"\n  Cart line IDs with a merchandise line price that's excluded to calculate the minimum subtotal amount of the order.\n  \"\"\"\n  excludedCartLineIds: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the order to be eligible for the discount.\n  \"\"\"\n  minimumAmount: Decimal!\n}\n\n\"\"\"\nA method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\norder before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\nfor a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n\"\"\"\ninput OrderSubtotalTarget {\n  \"\"\"\n  The list of excluded cart line IDs. These cart lines are excluded from the order\n  subtotal calculation when calculating the maximum value of the discount.\n  \"\"\"\n  excludedCartLineIds: [ID!]!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nThe target and value of the discount to be applied to a cart line.\n\"\"\"\ninput ProductDiscountCandidate {\n  \"\"\"\n  The discount code associated with this discount candidate, for code-based discounts.\n  \"\"\"\n  associatedDiscountCode: AssociatedDiscountCode\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The targets of the discount to be applied to a cart line.\n  \"\"\"\n  targets: [ProductDiscountCandidateTarget!]!\n\n  \"\"\"\n  The value of the discount to be applied to a cart line. For example, a fixed\n  amount of $5 off or percentage value of 20% off.\n  \"\"\"\n  value: ProductDiscountCandidateValue!\n}\n\n\"\"\"\nThe [fixed-amount](https://help.shopify.com/manual/international/pricing/discounts)\nvalue of the discount to be applied to a cart line. For example, if the cart\ntotal is $100 and the discount is $10, then the fixed amount is $10.\n\"\"\"\ninput ProductDiscountCandidateFixedAmount {\n  \"\"\"\n  The [fixed-amount](https://help.shopify.com/manual/international/pricing/discounts) value of the discount to be applied to a cart line, in the currency of the\n  cart. The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Whether to apply the value of each eligible discount to each eligible cart line.\n\n  The default value is `false`, which causes the value to be applied once across the entitled items.\n  When the value is `true`, the value will be applied to each of the entitled items.\n  \"\"\"\n  appliesToEachItem: Boolean = false\n}\n\n\"\"\"\nDefines discount candidates, which are cart lines that may be eligible for\npotential discounts. Use discount candidates to identify items in a customer's\ncart that could receive discounts based on conditions in the selection strategy.\n\nWhen multiple cart lines share the same type and ID, the system treats them as a\nsingle target and combines their quantities. The combined quantity becomes null\nif any individual target has a `null` quantity.\n\"\"\"\ninput ProductDiscountCandidateTarget @oneOf {\n  \"\"\"\n  A method for applying a discount to a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLine: CartLineTarget\n}\n\n\"\"\"\nThe value of the discount candidate to be applied to a cart line.\n\"\"\"\ninput ProductDiscountCandidateValue @oneOf {\n  \"\"\"\n  The [fixed-amount](https://help.shopify.com/manual/international/pricing/discounts) value of the discount to be applied to a cart line. For example, if the cart\n  total is $100 and the discount is $10, then the fixed amount is $10.\n  \"\"\"\n  fixedAmount: ProductDiscountCandidateFixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nThe selection strategy that's applied to the list of discounts that are eligible for cart lines.\n\"\"\"\nenum ProductDiscountSelectionStrategy {\n  \"\"\"\n  Apply all the discount candidates to eligible cart lines. This doesn't override discount combination or stacking rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Apply the first discount candidate to cart lines that satisfies conditions.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Apply the discount to the cart line that offers the maximum reduction.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nAn operation that applies product discounts to a cart that share a selection strategy.\n\"\"\"\ninput ProductDiscountsAddOperation {\n  \"\"\"\n  The list of products that are eligible for the discount.\n  \"\"\"\n  candidates: [ProductDiscountCandidate!]!\n\n  \"\"\"\n  The strategy that's applied to the list of products that are eligible for the cart line discount.\n  \"\"\"\n  selectionStrategy: ProductDiscountSelectionStrategy!\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/wasm/discount/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-04\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle | replace: \" \", \"-\" | downcase}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"cart.lines.discounts.generate.run\"\n  input_query = \"cart_lines_discounts_generate_run.graphql\"\n  export = \"cart_lines_discounts_generate_run\"\n\n  [[extensions.targeting]]\n  target = \"cart.delivery-options.discounts.generate.run\"\n  input_query = \"cart_delivery_options_discounts_generate_run.graphql\"\n  export = \"cart_delivery_options_discounts_generate_run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n"
  },
  {
    "path": "discounts/wasm/discounts-allocator/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/wasm/discounts-allocator/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart implements HasMetafields {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The physical location where a retail order is created or completed.\n  \"\"\"\n  retailLocation: Location\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  The type of merchandise in the delivery group.\n  \"\"\"\n  groupType: CartDeliveryGroupType!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nDefines what type of merchandise is in the delivery group.\n\"\"\"\nenum CartDeliveryGroupType {\n  \"\"\"\n  The delivery group only contains merchandise that is either a one time purchase or a first delivery of\n  subscription merchandise.\n  \"\"\"\n  ONE_TIME_PURCHASE\n\n  \"\"\"\n  The delivery group only contains subscription merchandise.\n  \"\"\"\n  SUBSCRIPTION\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ntype CartLineTarget {\n  \"\"\"\n  The ID of the line to be discounted.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the items on this line to be discounted.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\ntype Discount implements HasMetafields {\n  \"\"\"\n  The discount code, for code-based discounts.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The strategy to use when considering discounts proposals.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The class of the discount.\n  \"\"\"\n  discountClass: DiscountClass!\n\n  \"\"\"\n  Proposals to evaluate as part of this discount.\n  \"\"\"\n  discountProposals: [DiscountProposal!]!\n\n  \"\"\"\n  The ID of the discount.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The discount title.\n  \"\"\"\n  title: String!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply all discounts with conditions that are met,\napply a discount only to the first line item in a cart that meets conditions,\nor apply only the discount that offers a maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Apply all discounts with conditions that are met. For example, you can use the `ALL` strategy to apply a\n  20% discount on a t-shirt, a $5 discount on a pair of shoes, and a 10% discount on a hat. The total\n  discount would be the sum of all three discounts, which would be applied to the order total. This strategy\n  doesn't override [discount combination](https://help.shopify.com/manual/discounts/discount-combinations)\n  rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nList of the classes of discounts.\n\"\"\"\nenum DiscountClass {\n  \"\"\"\n  A discount that applies to the order.\n  \"\"\"\n  ORDER\n\n  \"\"\"\n  A discount that applies to products.\n  \"\"\"\n  PRODUCT\n}\n\n\"\"\"\nThe input object for the Function.\n\"\"\"\ntype DiscountProposal {\n  \"\"\"\n  The handle of the discount proposal.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The message for this proposal.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The line items to which the discount proposal applies.\n  \"\"\"\n  targets: [CartLineTarget!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\ninput DisplayableError {\n  \"\"\"\n  The ID of the discount that caused this violation.\n  \"\"\"\n  discountId: ID!\n\n  \"\"\"\n  The error message in the user's locale.\n  \"\"\"\n  reason: String!\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ntype FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Allocation method of the discount, will be allocated on each line if it's\n  true, else will be allocated across target lines.\n  \"\"\"\n  appliesToEachItem: Boolean!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains a list of discounts that apply to each item in a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  A list of errors that display if a discount can't be applied to one or more\n  items in a cart. Errors lock checkout, and the customer has to remove the discount code to\n  proceed through checkout.\n\n  Shopify shows errors for only\n  [code discounts](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountCodeNode).\n  Custom error messages aren't currently supported. If errors are returned with a custom reason,\n  then the error won't display and the discount won't be added.\n  \"\"\"\n  displayableErrors: [DisplayableError!]\n\n  \"\"\"\n  The list of discounts that are applied to each item in a cart.\n  It includes data such as the ID of the cart line associated with the discount,\n  the quantity of items that the discount applies to,\n  and how the discount is allocated to each item.\n  \"\"\"\n  lineDiscounts: [LineDiscount!]\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the Function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The information about promotional offers that are applied to items in a cart,\n  such as the discount's name that displays to merchants in the\n  Shopify admin and to customers,\n  the [discount code](https://help.shopify.com/manual/discounts/discount-types/discount-codes),\n  the [discount class](https://help.shopify.com/manual/discounts/combining-discounts/discount-combinations),\n  and [metafields](https://shopify.dev/docs/apps/build/custom-data) that are associated\n  with discounts.\n  \"\"\"\n  discounts: [Discount!]\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\ninput LineDiscount {\n  \"\"\"\n  The output allocations for this line discount.\n  \"\"\"\n  allocations: [OutputAllocations!]!\n\n  \"\"\"\n  The ID of the cart line associated to this discount.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity to which this line discount will apply.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nLocal pickup settings associated with a location.\n\"\"\"\ntype LocalPickup {\n  \"\"\"\n  Whether local pickup is enabled for the location.\n  \"\"\"\n  enabled: Boolean!\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Local pickup settings associated with a location.\n  \"\"\"\n  localPickup: LocalPickup!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the purchase.discounts-allocator.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\ninput OutputAllocations {\n  \"\"\"\n  The money amount that's allocated to a line based on the associated discount.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The ID of the source discount proposal.\n  \"\"\"\n  discountProposalId: Handle!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ntype Percentage {\n  \"\"\"\n  The percentage value.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\nunion Value = FixedAmount | Percentage\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/wasm/discounts-allocator/default/shopify.extension.toml.liquid",
    "content": "api_version = \"unstable\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.discounts-allocator.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/wasm/discounts-allocator/default/src/run.graphql.liquid",
    "content": "query Input {\n  shop {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/wasm/order-discounts/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/wasm/order-discounts/default/run.graphql.liquid",
    "content": "query Input {\n  discountNode {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/wasm/order-discounts/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe criteria or rules that must be met for a discount to be applied to an order.\nFor example, conditions can include minimum purchase amounts, specific product selections, or\ncustomer eligibility.\n\"\"\"\ninput Condition @oneOf {\n  \"\"\"\n  The condition for checking the minimum subtotal amount of the order.\n  \"\"\"\n  orderMinimumSubtotal: OrderMinimumSubtotal\n\n  \"\"\"\n  The condition for checking the minimum quantity of a product.\n  \"\"\"\n  productMinimumQuantity: ProductMinimumQuantity\n\n  \"\"\"\n  The condition for checking the minimum subtotal amount of the product.\n  \"\"\"\n  productMinimumSubtotal: ProductMinimumSubtotal\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA price reduction applied to an order.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  The criteria or rules that must be met for a discount to be applied to an order.\n  For example, conditions can include minimum purchase amounts, specific product selections, or\n  customer eligibility.\n  \"\"\"\n  conditions: [Condition!]\n\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to an order. This argument accepts either a single\n  `OrderSubtotalTarget` or one or more `ProductVariantTarget`s, but not both.\n\n  The `OrderSubtotalTarget` is used to target the subtotal of the order. The subtotal is the total amount\n  of the order before any taxes, shipping fees, or discounts are applied. For example, if a customer\n  places an order for a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n\n  The `ProductVariantTarget` is used to target specific product variants within the order. Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply a discount to the first line item in a cart that meets conditions,\nor apply the discount that offers the maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply a discount to the first line item in a cart that meets conditions,\n  or apply the discount that offers the maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply a discount to the first line item in a cart that meets conditions,\n  or apply the discount that offers the maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.order-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal amount of the order.\n\"\"\"\ninput OrderMinimumSubtotal {\n  \"\"\"\n  Variant IDs with a merchandise line price that's excluded to calculate the minimum subtotal amount of the order.\n  \"\"\"\n  excludedVariantIds: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the order.\n  \"\"\"\n  minimumAmount: Decimal!\n\n  \"\"\"\n  The target type of the condition.\n\n   The value is validated against: = \"ORDER_SUBTOTAL\".\n  \"\"\"\n  targetType: TargetType!\n}\n\n\"\"\"\nA method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\norder before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\nfor a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n\"\"\"\ninput OrderSubtotalTarget {\n  \"\"\"\n  The list of excluded product variant IDs. Cart lines for these product variants are excluded from the order\n  subtotal calculation when calculating the maximum value of the discount.\n  \"\"\"\n  excludedVariantIds: [ID!]!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nThe condition for checking the minimum quantity of a product.\n\"\"\"\ninput ProductMinimumQuantity {\n  \"\"\"\n  Variant IDs with a merchandise line price that's included to calculate the minimum quantity of the product.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum quantity of a product.\n  \"\"\"\n  minimumQuantity: Int!\n\n  \"\"\"\n  The target type of the condition.\n\n  The value is validated against: = \"PRODUCT_VARIANT\".\n  \"\"\"\n  targetType: TargetType!\n}\n\n\"\"\"\nThe condition for checking the minimum subtotal amount of the product.\n\"\"\"\ninput ProductMinimumSubtotal {\n  \"\"\"\n  Variant IDs with a merchandise line price that's included to calculate the minimum subtotal amount of a product.\n  \"\"\"\n  ids: [ID!]!\n\n  \"\"\"\n  The minimum subtotal amount of the product.\n  \"\"\"\n  minimumAmount: Decimal!\n\n  \"\"\"\n  The target type of the condition.\n\n  The value is validated against: = \"PRODUCT_VARIANT\".\n  \"\"\"\n  targetType: TargetType!\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nA method for applying a discount to a\n[product variant](https://help.shopify.com/manual/products/variants). Product variants\nare the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\nin a specific size and color, the t-shirt is a product variant. The discount can be applied to all\nproduct variants in the order, or to specific product variants that meet certain criteria.\n\"\"\"\ninput ProductVariantTarget {\n  \"\"\"\n  The ID of the targeted product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The maximum number of line item units to be discounted.\n  The default value is `null`, which represents the total quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe method for applying the discount to an order. This argument accepts either a single\n`OrderSubtotalTarget` or one or more `ProductVariantTarget`s, but not both.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to the entire order subtotal. The subtotal is the total amount of the\n  order before any taxes, shipping fees, or discounts are applied. For example, if a customer places an order\n  for a t-shirt and a pair of shoes, then the subtotal is the sum of the prices of those items.\n  \"\"\"\n  orderSubtotal: OrderSubtotalTarget\n\n  \"\"\"\n  A method for applying a discount to a\n  [product variant](https://help.shopify.com/manual/products/variants). Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  productVariant: ProductVariantTarget\n}\n\n\"\"\"\nThe target type of a condition.\n\"\"\"\nenum TargetType {\n  \"\"\"\n  The target is the subtotal of the order.\n  \"\"\"\n  ORDER_SUBTOTAL\n\n  \"\"\"\n  The target is a product variant.\n  \"\"\"\n  PRODUCT_VARIANT\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/wasm/order-discounts/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.order-discount.run\"\n  input_query = \"run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/wasm/product-discounts/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/wasm/product-discounts/default/run.graphql.liquid",
    "content": "query Input {\n  discountNode {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/wasm/product-discounts/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nA method for applying a discount to a specific line item in the cart. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ninput CartLineTarget {\n  \"\"\"\n  The ID of the targeted cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The number of line items that are being discounted.\n  The default value is `null`, which represents the quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA price reduction applied to a product.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to products. This argument accepts a collection of either\n  `ProductVariantTarget` or `CartLineTarget`, but not both.\n\n  The `ProductVariantTarget` is used to target a specific product variant. A product variant is a specific\n  version of a product that comes in more than one option, such as size or color. For example, if a merchant\n  sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant\n  and a large, blue t-shirt would be another.\n\n  The `CartLineTarget` is used to target a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply all discounts with conditions that are met,\napply a discount only to the first line item in a cart that meets conditions,\nor apply only the discount that offers a maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Apply all discounts with conditions that are met. For example, you can use the `ALL` strategy to apply a\n  20% discount on a t-shirt, a $5 discount on a pair of shoes, and a 10% discount on a hat. The total\n  discount would be the sum of all three discounts, which would be applied to the order total. This strategy\n  doesn't override [discount combination](https://help.shopify.com/manual/discounts/discount-combinations)\n  rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Whether to apply the value to each entitled item.\n\n  The default value is `false`, which causes the value to be applied once across the entitled items.\n  When the value is `true`, the value will be applied to each of the entitled items.\n  \"\"\"\n  appliesToEachItem: Boolean\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply all discounts with conditions that are met,\n  apply a discount only to the first line item in a cart that meets conditions,\n  or apply only the discount that offers a maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply all discounts with conditions that are met,\n  apply a discount only to the first line item in a cart that meets conditions,\n  or apply only the discount that offers a maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.product-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nA method for applying a discount to a\n[product variant](https://help.shopify.com/manual/products/variants). Product variants\nare the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\nin a specific size and color, the t-shirt is a product variant. The discount can be applied to all\nproduct variants in the order, or to specific product variants that meet certain criteria.\n\"\"\"\ninput ProductVariantTarget {\n  \"\"\"\n  The ID of the targeted product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The maximum number of line item units to be discounted.\n  The default value is `null`, which represents the total quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe method for applying the discount to products. This argument accepts a collection of either\n`ProductVariantTarget` or `CartLineTarget`, but not both.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLine: CartLineTarget\n\n  \"\"\"\n  A method for applying a discount to a\n  [product variant](https://help.shopify.com/manual/products/variants). Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  productVariant: ProductVariantTarget\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/wasm/product-discounts/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.product-discount.run\"\n  input_query = \"run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "discounts/wasm/shipping-discounts/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "discounts/wasm/shipping-discounts/default/run.graphql.liquid",
    "content": "query Input {\n  discountNode {\n    metafield(namespace: \"$app:{{handle | replace: \" \", \"-\" | downcase}}\", key: \"function-configuration\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "discounts/wasm/shipping-discounts/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA method for applying a discount to a delivery group. Delivery groups streamline\nfulfillment by organizing items that can be shipped together, based on the customer's shipping address.\nFor example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\nitems are included in the same delivery group.\n\"\"\"\ninput DeliveryGroupTarget {\n  \"\"\"\n  The ID of the target delivery group.\n  \"\"\"\n  id: ID!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA method for applying a discount to a delivery option within a delivery group.\nDelivery options are the different ways that customers can choose to have their\norders shipped. Examples of delivery options include express shipping or standard shipping.\n\"\"\"\ninput DeliveryOptionTarget {\n  \"\"\"\n  The handle of the target delivery option.\n  \"\"\"\n  handle: Handle!\n}\n\n\"\"\"\nA price reduction applied to shipping costs.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to shipping costs. This argument accepts a collection of either\n  `DeliveryGroupTarget` or `DeliveryOptionTarget`, but not both.\n\n  The `DeliveryGroupTarget` is used to target a specific delivery group. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's shipping address.\n  For example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\n  items are included in the same delivery group.\n\n  The `DeliveryOptionTarget` is used to target a specific delivery option within a delivery group.\n  Delivery options are the different ways that customers can choose to have their\n  orders shipped. Examples of delivery options include express shipping or standard shipping.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts to apply to shipping costs. In API\nversions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts to apply to shipping costs.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.shipping-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe method for applying the discount to shipping costs. This argument accepts a collection of either\n`DeliveryGroupTarget` or `DeliveryOptionTarget`, but not both.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to a delivery group. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's shipping address.\n  For example, if a customer orders a t-shirt and a pair of shoes that can be shipped together, then the\n  items are included in the same delivery group.\n  \"\"\"\n  deliveryGroup: DeliveryGroupTarget\n\n  \"\"\"\n  A method for applying a discount to a delivery option within a delivery group.\n  Delivery options are the different ways that customers can choose to have their\n  orders shipped. Examples of delivery options include express shipping or standard shipping.\n  \"\"\"\n  deliveryOption: DeliveryOptionTarget\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "discounts/wasm/shipping-discounts/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.shipping-discount.run\"\n  input_query = \"run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/javascript/fulfillment-constraints/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "order-routing/javascript/fulfillment-constraints/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "order-routing/javascript/fulfillment-constraints/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "order-routing/javascript/fulfillment-constraints/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA customization which applies constraint rules to order routing and fulfillments.\n\"\"\"\ntype FulfillmentConstraintRule implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply constraints for fulfilling orders.\nIn API versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply when\n  [fulfilling orders](https://help.shopify.com/manual/fulfillment/fulfilling-orders).\n  You can either specify a list of locations where cart items can be fulfilled from,\n  or specify that cart items must be fulfilled from the same location.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply constraints for fulfilling orders.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply when\n  [fulfilling orders](https://help.shopify.com/manual/fulfillment/fulfilling-orders).\n  You can either specify a list of locations where cart items can be fulfilled from,\n  or specify that cart items must be fulfilled from the same location.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function uses to determine how to\n  [fulfill orders](https://help.shopify.com/manual/fulfillment/fulfilling-orders). It includes the\n  [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  fulfillmentConstraintRule: FulfillmentConstraintRule!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  A list of all geographical locations where the inventory is stored,\n  including warehouses, retail locations, and distribution centers.\n  \"\"\"\n  locations(\n    \"\"\"\n    A list of [globally-unique identifiers](https://shopify.dev/docs/api/usage/gids)\n    for the locations where inventory resides.\n    \"\"\"\n    identifiers: [String!]\n\n    \"\"\"\n    A list of location names where the inventory resides.\n    \"\"\"\n    names: [String!]\n  ): [Location!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nForce a set of items to be fulfilled from a specified location.\nIf the cart item isn't stocked at the specified location, then checkout won't return any shipping rates and\ncompleting checkout will be blocked.\n\"\"\"\ninput MustFulfillFrom {\n  \"\"\"\n  The IDs of the deliverable lines for which the constraint is applied.\n  \"\"\"\n  deliverableLineIds: [ID!]\n\n  \"\"\"\n  The IDs of the locations for which the cart lines must fulfill from.\n  \"\"\"\n  locationIds: [ID!]!\n}\n\n\"\"\"\nForce a set of items to be fulfilled from the same location.\nIf the cart items with constraints aren't stocked at the same location,\nthen checkout won't return any shipping rates and completing checkout will be blocked.\n\"\"\"\ninput MustFulfillFromSameLocation {\n  \"\"\"\n  The IDs of the deliverable lines for which the constraint is applied.\n  \"\"\"\n  deliverableLineIds: [ID!]\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.fulfillment-constraint-rule.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply fulfillment constraints.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  Force a set of items to be fulfilled from a specified location.\n  If the cart item isn't stocked at the specified location, then checkout won't return any shipping rates and\n  completing checkout will be blocked.\n  \"\"\"\n  mustFulfillFrom: MustFulfillFrom\n\n  \"\"\"\n  Force a set of items to be fulfilled from the same location.\n  If the cart items with constraints aren't stocked at the same location,\n  then checkout won't return any shipping rates and completing checkout will be blocked.\n  \"\"\"\n  mustFulfillFromSameLocation: MustFulfillFromSameLocation\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/javascript/fulfillment-constraints/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.fulfillment-constraint-rule.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/javascript/fulfillment-constraints/default/src/index.liquid",
    "content": "export * from './run';\n"
  },
  {
    "path": "order-routing/javascript/fulfillment-constraints/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  cart {\n    deliverableLines {\n      id\n    }\n  }\n  fulfillmentConstraintRule {\n    metafield(namespace: \"$app:fulfillment-constraints\", key: \"function-configuration\") {\n      value\n    }\n  }\n}"
  },
  {
    "path": "order-routing/javascript/fulfillment-constraints/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n// @ts-check\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst NO_CHANGES = {\n  operations: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const configuration = JSON.parse(\n    input?.fulfillmentConstraintRule?.metafield?.value ?? \"{}\"\n  );\n\n  return NO_CHANGES;\n};\n{%- elsif flavor contains \"typescript\" -%}\nimport type {\n  RunInput,\n  FunctionRunResult,\n} from \"../generated/api\";\n\nconst NO_CHANGES: FunctionRunResult = {\n  operations: [],\n};\n\ntype Configuration = {};\n\nexport function run(input: RunInput): FunctionRunResult {\n  const configuration: Configuration = JSON.parse(\n    input?.fulfillmentConstraintRule?.metafield?.value ?? \"{}\"\n  );\n  return NO_CHANGES;\n};\n{%- endif -%}"
  },
  {
    "path": "order-routing/javascript/fulfillment-constraints/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\ndescribe('fulfillment constraint rule function', () => {\n  it('returns no operations without configuration', () => {\n    const result = run({\n      cart: {\n        deliverableLines: [\n          {\n            id: \"gid://shopify/DeliverableCartLine/1\"\n          },\n          {\n            id: \"gid://shopify/DeliverableCartLine/2\"\n          }\n        ]\n      },\n      fulfillmentConstraintRule: {\n        metafield: null\n      }\n    });\n    const expected = /** @type {FunctionRunResult} */ ({ operations: [] });\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\nimport { FunctionRunResult } from '../generated/api';\n\ndescribe('fulfillment constraint rule function', () => {\n  it('returns no operations without configuration', () => {\n    const result = run({\n      cart: {\n        deliverableLines: [\n          {\n            id: \"gid://shopify/DeliverableCartLine/1\"\n          },\n          {\n            id: \"gid://shopify/DeliverableCartLine/2\"\n          }\n        ]\n      },\n      fulfillmentConstraintRule: {\n        metafield: null\n      }\n    });\n    const expected: FunctionRunResult = { operations: [] };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- endif -%}"
  },
  {
    "path": "order-routing/javascript/fulfillment-constraints/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "order-routing/javascript/local-pickup-delivery-option-generators/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "order-routing/javascript/local-pickup-delivery-option-generators/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}"
  },
  {
    "path": "order-routing/javascript/local-pickup-delivery-option-generators/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "order-routing/javascript/local-pickup-delivery-option-generators/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart implements HasMetafields {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The physical location where a retail order is created or completed.\n  \"\"\"\n  retailLocation: Location\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  The type of merchandise in the delivery group.\n  \"\"\"\n  groupType: CartDeliveryGroupType!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nDefines what type of merchandise is in the delivery group.\n\"\"\"\nenum CartDeliveryGroupType {\n  \"\"\"\n  The delivery group only contains merchandise that is either a one time purchase or a first delivery of\n  subscription merchandise.\n  \"\"\"\n  ONE_TIME_PURCHASE\n\n  \"\"\"\n  The delivery group only contains subscription merchandise.\n  \"\"\"\n  SUBSCRIPTION\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA customization representing how delivery options are generated.\n\"\"\"\ntype DeliveryOptionGenerator implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA group of one or more items to be fulfilled together. Every cart line belongs to\nexactly one fulfillment group.\n\"\"\"\ntype FulfillmentGroup {\n  \"\"\"\n  The delivery group for the fulfillment group. Contains information about\n  the destination address and which delivery options were available for this\n  set of cart lines.\n  \"\"\"\n  deliveryGroup: CartDeliveryGroup!\n\n  \"\"\"\n  The fulfillment group handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The ID of the fulfillment group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The list of inventory location handles for the fulfillment group.\n  These are the locations that stock the items, and can be used to fulfill\n  this particular group of items.\n  \"\"\"\n  inventoryLocationHandles: [Handle!]!\n\n  \"\"\"\n  The merchandise in the fulfillment group. A subset of cart lines.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to generate local pickup options in checkout.\nIn API versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply when generating\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store)\n  options.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to generate local pickup options in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply when generating\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store)\n  options.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function uses to generate\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store)\n  options. It includes the [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  deliveryOptionGenerator: DeliveryOptionGenerator!\n\n  \"\"\"\n  A list of\n  [fulfillment locations](https://shopify.dev/manual/fulfillment/setup/shipping-profiles/managing-fulfillment-locations)\n  that contain one or more items to be shipped together. Each item in the cart is assigned to one\n  fulfillment group.\n  \"\"\"\n  fulfillmentGroups: [FulfillmentGroup!]!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  A list of all geographical locations where the inventory is stored,\n  including warehouses, retail locations, and distribution centers.\n  The list captures the locations that can fulfill items in the cart or that offer local pickup.\n  \"\"\"\n  locations: [Location!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nLocal pickup settings associated with a location.\n\"\"\"\ntype LocalPickup {\n  \"\"\"\n  Whether local pickup is enabled for the location.\n  \"\"\"\n  enabled: Boolean!\n}\n\n\"\"\"\nA local pickup delivery option, which will be presented to the customer.\n\"\"\"\ninput LocalPickupDeliveryOption {\n  \"\"\"\n  The cost of the delivery option in the currency of the cart. Defaults to zero.\n  \"\"\"\n  cost: Decimal\n\n  \"\"\"\n  Metafields associated with the delivery option.\n  \"\"\"\n  metafields: [MetafieldOutput!] = []\n\n  \"\"\"\n  The pickup location.\n  \"\"\"\n  pickupLocation: PickupLocation!\n\n  \"\"\"\n  The title of the delivery option. Defaults to pickup location's name.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Local pickup settings associated with a location.\n  \"\"\"\n  localPickup: LocalPickup!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ninput MetafieldOutput {\n  \"\"\"\n  The unique identifier for the metafield within its namespace. A metafield is composed of a\n  namespace and a key, in the format `namespace.key`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n  between different apps or different parts of the same app. If omitted, then the\n  [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n  is used.\n  \"\"\"\n  namespace: String\n\n  \"\"\"\n  The [type of data](https://shopify.dev/docs/apps/build/custom-data/metafields/list-of-data-types)\n  that's stored in the metafield.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data to store in the metafield.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.local-pickup-delivery-option-generator.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to generate local pickup delivery options.\n\"\"\"\ninput Operation {\n  \"\"\"\n  The local pickup delivery option to add.\n  \"\"\"\n  add: LocalPickupDeliveryOption!\n}\n\ninput PickupLocation {\n  \"\"\"\n  The location handle of the pickup in-store location.\n  \"\"\"\n  locationHandle: Handle!\n\n  \"\"\"\n  The pickup instruction to show to customers at checkout.\n  Defaults to location's local pickup expected pickup time setting.\n  \"\"\"\n  pickupInstruction: String\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/javascript/local-pickup-delivery-option-generators/default/shopify.extension.toml.liquid",
    "content": "api_version = \"unstable\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\ndescription = \"t:description\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\n\n  [[extensions.targeting]]\n  target = \"purchase.local-pickup-delivery-option-generator.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/javascript/local-pickup-delivery-option-generators/default/src/index.liquid",
    "content": "export * from './run';\n"
  },
  {
    "path": "order-routing/javascript/local-pickup-delivery-option-generators/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  cart {\n    lines {\n      id\n    }\n  }\n  fulfillmentGroups {\n    handle\n    inventoryLocationHandles\n    lines {\n      id\n    }\n    deliveryGroup {\n      id\n    }\n  }\n  locations {\n    handle\n    name\n    address {\n      address1\n    }\n  }\n  deliveryOptionGenerator {\n    metafield: metafield(namespace: \"$app:local-pickup-options-generator\", key: \"pickup-ids\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "order-routing/javascript/local-pickup-delivery-option-generators/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n// @ts-check\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const configuration = JSON.parse(\n    input?.deliveryOptionGenerator?.metafield?.value ?? \"{}\"\n  );\n\n  return {\n    operations: [\n      {\n        add: {\n          title: \"Main St.\",\n          cost: 1.99,\n          pickupLocation: {\n            locationHandle: \"2578303\",\n            pickupInstruction: \"Usually ready in 24 hours.\"\n          }\n        }\n      }\n    ],\n  };\n}\n{%- elsif flavor contains \"typescript\" -%}\nimport {\n  RunInput,\n  FunctionRunResult,\n} from \"../generated/api\";\n\ntype Configuration = {};\n\nexport function run(input: RunInput): FunctionRunResult {\n  const configuration: Configuration = JSON.parse(\n    input?.deliveryOptionGenerator?.metafield?.value ?? \"{}\"\n  );\n\n  return {\n    operations: [\n      {\n        add: {\n          title: \"Main St.\",\n          cost: 1.99,\n          pickupLocation: {\n            locationHandle: \"2578303\",\n            pickupInstruction: \"Usually ready in 24 hours.\"\n          }\n        }\n      }\n    ],\n  };\n}\n{%- endif -%}\n"
  },
  {
    "path": "order-routing/javascript/local-pickup-delivery-option-generators/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\ndescribe('local pickup delivery option generator function', () => {\n  it('returns a delivery option', () => {\n    const result = run({\n      cart: {\n        lines: [\n          {\n            id: \"gid://shopify/CartLine/1\"\n          }\n        ]\n      },\n      fulfillmentGroups: [\n        {\n          handle:  \"1\",\n          lines: [\n            {\n              id: \"gid://shopify/CartLine/1\"\n            }\n          ],\n          deliveryGroup: {\n            id: \"gid://shopify/CartDeliveryGroup/1\"\n          },\n          inventoryLocationHandles: [\"2578303\"]\n        }\n      ],\n      locations: [\n        {\n          handle: \"2578303\",\n          name: \"Main St.\",\n          address: {\n            address1: \"123 Main St.\"\n          }\n        }\n      ],\n      deliveryOptionGenerator: {\n        metafield: null\n      }\n    });\n    const expected = /** @type {FunctionRunResult} */ ({\n      operations: [\n        {\n          add: {\n            title: \"Main St.\",\n            cost: 1.99,\n            pickupLocation: {\n              locationHandle: \"2578303\",\n              pickupInstruction: \"Usually ready in 24 hours.\"\n            },\n          },\n        },\n      ]\n    });\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\nimport { RunInput, FunctionRunResult } from '../generated/api';\n\ndescribe('local pickup delivery option generator function', () => {\n  it('returns a delivery option', () => {\n    const result = run({\n      cart: {\n        lines: [\n          {\n            id: \"gid://shopify/CartLine/1\"\n          }\n        ]\n      },\n      fulfillmentGroups: [\n        {\n          handle:  \"1\",\n          lines: [\n            {\n              id: \"gid://shopify/CartLine/1\"\n            }\n          ],\n          deliveryGroup: {\n            id: \"gid://shopify/CartDeliveryGroup/1\"\n          },\n          inventoryLocationHandles: [\"2578303\"]\n        }\n      ],\n      locations: [\n        {\n          handle: \"2578303\",\n          name: \"Main St.\",\n          address: {\n            address1: \"123 Main St.\"\n          }\n        }\n      ],\n      deliveryOptionGenerator: {\n        metafield: null\n      }\n    });\n    const expected: FunctionRunResult = {\n      operations: [\n        {\n          add: {\n            title: \"Main St.\",\n            cost: 1.99,\n            pickupLocation: {\n              locationHandle: \"2578303\",\n              pickupInstruction: \"Usually ready in 24 hours.\"\n            }\n          }\n        }\n      ]\n    };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- endif -%}\n"
  },
  {
    "path": "order-routing/javascript/local-pickup-delivery-option-generators/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "order-routing/javascript/location-rules/default/.gitignore",
    "content": "dist\ngenerated\n"
  },
  {
    "path": "order-routing/javascript/location-rules/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "order-routing/javascript/location-rules/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "order-routing/javascript/location-rules/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA group of one or more items to be fulfilled together.\n\"\"\"\ntype FulfillmentGroup {\n  \"\"\"\n  The delivery address for the fulfillment group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery group for the fulfillment group.\n  \"\"\"\n  deliveryGroup: CartDeliveryGroup! @deprecated(reason: \"Use `deliveryAddress` instead.\")\n\n  \"\"\"\n  The fulfillment group handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The ID of the fulfillment group.\n  \"\"\"\n  id: ID! @deprecated(reason: \"Use `handle` instead.\")\n\n  \"\"\"\n  A list of inventory location handles for the fulfillment group.\n  \"\"\"\n  inventoryLocationHandles: [Handle!]!\n\n  \"\"\"\n  A list of lines containing information about the items that are part of the fulfillment group.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nA list of ranked locations for this fulfillment group.\n\"\"\"\ninput FulfillmentGroupRankedLocations {\n  \"\"\"\n  The identifier for the fulfillment group.\n  \"\"\"\n  fulfillmentGroupHandle: Handle!\n\n  \"\"\"\n  The ranked locations for this fulfillment group.\n  \"\"\"\n  rankings: [RankedLocation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations that rank locations for each fulfillment\ngroup. In API versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations that rank locations for each fulfillment group,\n  which includes one or more items to be shipped together.\n  The locations with the highest ranking are selected to fulfill the order.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations that rank locations for each fulfillment group.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations that rank locations for each fulfillment group,\n  which includes one or more items to be shipped together.\n  The locations with the highest ranking are selected to fulfill the order.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A list of\n  [fulfillment locations](https://shopify.dev/manual/fulfillment/setup/shipping-profiles/managing-fulfillment-locations)\n  that contain one or more items to be shipped together. Each item in the cart is assigned to one\n  fulfillment group.\n  \"\"\"\n  fulfillmentGroups: [FulfillmentGroup!]!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The backend logic that the Function uses to\n  [route orders](https://help.shopify.com/manual/fulfillment/setup/order-routing/understanding-order-routing).\n  It includes the [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  locationRule: OrderRoutingLocationRule!\n\n  \"\"\"\n  A list of all geographical locations where the inventory is stored,\n  including warehouses, retail locations, and distribution centers.\n  The list captures the locations that can fulfill items in the cart.\n  \"\"\"\n  locations: [Location!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.order-routing-location-rule.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the fulfillment group inventory locations.\n\"\"\"\ninput Operation {\n  \"\"\"\n  A request to rank the locations associated with a fulfillment group.\n  The ranking determines the priority in which the locations are selected to fulfill the order.\n  \"\"\"\n  rank: FulfillmentGroupRankedLocations!\n}\n\n\"\"\"\nA customization which ranks inventory locations for fulfillment purposes.\n\"\"\"\ntype OrderRoutingLocationRule implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nA location with a rank associated with it.\n\"\"\"\ninput RankedLocation {\n  \"\"\"\n  The location handle.\n  \"\"\"\n  locationHandle: Handle!\n\n  \"\"\"\n  The location's rank.\n  \"\"\"\n  rank: Int!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/javascript/location-rules/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.order-routing-location-rule.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/javascript/location-rules/default/src/index.liquid",
    "content": "export * from './run';\n"
  },
  {
    "path": "order-routing/javascript/location-rules/default/src/run.graphql.liquid",
    "content": "query RunInput {\n  fulfillmentGroups {\n    handle\n    inventoryLocationHandles\n  }\n}\n"
  },
  {
    "path": "order-routing/javascript/location-rules/default/src/run.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\n// @ts-check\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const operations = input.fulfillmentGroups.map((group) => {\n    const rankings = group.inventoryLocationHandles?.map((inventoryLocationHandle) => ({\n      locationHandle: inventoryLocationHandle,\n      rank: 0,\n    })) || [];\n\n    return {\n      rank: {\n        fulfillmentGroupHandle: group.handle,\n        rankings,\n      },\n    };\n  });\n\n  return {operations};\n};\n{%- elsif flavor contains \"typescript\" -%}\nimport type {\n  RunInput,\n  FunctionRunResult,\n  Operation,\n  RankedLocation,\n} from \"../generated/api\";\n\nexport function run(input: RunInput): FunctionRunResult {\n  const operations: Operation[] = input.fulfillmentGroups.map((group) => {\n    const rankings: RankedLocation[] = group.inventoryLocationHandles?.map(\n      (inventoryLocationHandle) => ({\n        locationHandle: inventoryLocationHandle,\n        rank: 0,\n      }),\n    ) || [];\n\n    return {\n      rank: {\n        fulfillmentGroupHandle: group.handle,\n        rankings,\n      },\n    };\n  });\n\n  return {operations};\n};\n{%- endif -%}\n"
  },
  {
    "path": "order-routing/javascript/location-rules/default/src/run.test.liquid",
    "content": "{%- if flavor contains \"vanilla-js\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\ndescribe('order routing location rule function', () => {\n  it('returns rank operations with all locations rank 0', () => {\n    const result = run({\n      \"fulfillmentGroups\": [{\n          \"handle\": \"123\",\n          \"inventoryLocationHandles\": [\"456\"]\n      }]\n    });\n    const expected = /** @type {FunctionRunResult} */ ({\n      operations: [{\n        rank: {\n          fulfillmentGroupHandle: \"123\",\n          rankings: [{\n            locationHandle: \"456\",\n            rank: 0\n          }]\n        }\n      }]\n    });\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- elsif flavor contains \"typescript\" -%}\nimport { describe, it, expect } from 'vitest';\nimport { run } from './run';\nimport { FunctionRunResult } from '../generated/api';\n\ndescribe('order routing location rule function', () => {\n  it('returns rank operations with all locations rank 0', () => {\n    const result = run({\n      fulfillmentGroups: [{\n          handle: \"123\",\n          inventoryLocationHandles: [\"456\"]\n      }]\n    });\n    const expected: FunctionRunResult = {\n      operations: [{\n        rank: {\n          fulfillmentGroupHandle: \"123\",\n          rankings: [{\n            locationHandle: \"456\",\n            rank: 0\n          }]\n        }\n      }]\n    };\n\n    expect(result).toEqual(expected);\n  });\n});\n{%- endif -%}\n"
  },
  {
    "path": "order-routing/javascript/location-rules/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/README.md",
    "content": "# Pickup point delivery option generators demo\n\nThis repository contains a function that demonstrates how to generate pickup point delivery options based on an external\nAPI accessible via an HTTP request. To simulate an external API, we have hosted a\n[JSON file](https://cdn.shopify.com/s/files/1/0628/3830/9033/files/pickup-points-external-api-v2.json?v=1714588690),\nwhich contains pickup point information in the following format:\n\n```json\n{\n  \"deliveryPoints\": [\n    {\n      \"pointId\": \"001\",\n      \"pointName\": \"Toronto Store\",\n      \"location\": {\n        \"addressComponents\": {\n          \"streetNumber\": \"620\",\n          \"route\": \"King St W\",\n          \"locality\": \"Toronto\",\n          \"administrativeArea\": {\n            \"name\": \"Ontario\",\n            \"code\": \"ON\"\n          },\n          \"postalCode\": \"M5V 1M6\",\n          \"country\": \"Canada\",\n          \"countryCode\": \"CA\"\n        },\n        \"geometry\": {\n          \"location\": {\n            \"lat\": 43.644664618786685,\n            \"lng\": -79.40066267417106\n          }\n        }\n      },\n      \"openingHours\": {\n        \"weekdayText\": [\n          \"Monday: 9:00 AM – 9:00 PM\",\n          \"Tuesday: 9:00 AM – 9:00 PM\",\n          \"Wednesday: 9:00 AM – 9:00 PM\",\n          \"Thursday: 9:00 AM – 9:00 PM\",\n          \"Friday: 9:00 AM – 9:00 PM\",\n          \"Saturday: 10:00 AM – 6:00 PM\",\n          \"Sunday: Closed\"\n        ]\n      }\n    }\n  ]\n}\n```\n\n## Implementation details\n\nA function can have one or more targets, each characterized by a specific input/output API. The Pickup Point Delivery\nOption Generators have two targets: an optional **fetch** target and a **run** target. The input/output APIs are\nrepresented as a GraphQL API within the attached [schema](./schema.graphql).\n\n### Fetch target\n\nThe **fetch** target is responsible for generating an HTTP request to call the external API. Its input API is defined\nby the `Input` type in the [schema](./schema.graphql). In our demo, we are only interested in the delivery address\ncountry and latitude-longitude coordinates, which we specify within the [**fetch** target input query](./src/fetch.graphql).\n\nThe [**fetch** target](./src/fetch.js) reads the input and generates an output representing an HTTP request to the\nexternal API if the address country is Canada. The output API is defined by the `FunctionFetchResult` type in\nthe [schema](./schema.graphql).\n\n#### Fetch target input/output example\n\n##### Input\n\n```json\n{\n  \"deliveryAddres\": {\n    \"countryCode\": \"CA\",\n    \"longitude\": 43.70,\n    \"latitude\": -79.42\n  }\n}\n```\n\n##### Output\n\n```json\n{\n  \"request\": {\n    \"method\": \"GET\",\n    \"url\": \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/pickup-points-external-api-v2.json?v=1714588690&lat=-79.42&lon=43.7\",\n    \"headers\": [\n      {\n        \"name\": \"Accept\",\n        \"value\": \"application/json; charset=utf-8\"\n      }\n    ],\n    \"body\": null,\n    \"policy\": {\n      \"read_timeout_ms\": 500\n    }\n  }\n}\n```\n\n### Run target\n\nThe **run** target is responsible for generating the pickup point delivery options. Its input API is defined by\nthe `Input` type in the [schema](./schema.graphql). In our demo, we are only interested in the external API HTTP\nresponse status and body, which we specify within the [**run** target input query](./src/run.graphql).\n\nThe [**run** target](./src/run.js) parses the response body and produces the pickup point data in the format\nspecified by the `FunctionRunResult` type in the [schema](./schema.graphql).\n\n#### Run target input/output example\n\n##### Input\n\n```json\n{\n  \"fetchResult\": {\n    \"status\": 200,\n    \"body\": \"{\\\"deliveryPoints\\\":[{\\\"pointId\\\":\\\"001\\\",\\\"pointName\\\":\\\"Toronto Store\\\",\\\"location\\\":{\\\"addressComponents\\\":{\\\"streetNumber\\\":\\\"620\\\",\\\"route\\\":\\\"King St W\\\",\\\"locality\\\":\\\"Toronto\\\",\\\"administrativeArea\\\":{\\\"name\\\":\\\"Ontario\\\",\\\"code\\\":\\\"ON\\\"},\\\"postalCode\\\":\\\"M5V 1M6\\\",\\\"country\\\":\\\"Canada\\\",\\\"countryCode\\\":\\\"CA\\\"},\\\"geometry\\\":{\\\"location\\\":{\\\"lat\\\":43.644664618786685,\\\"lng\\\":-79.40066267417106}}},\\\"openingHours\\\":{\\\"weekdayText\\\":[\\\"Monday: 9:00 AM – 9:00 PM\\\",\\\"Tuesday: 9:00 AM – 9:00 PM\\\",\\\"Wednesday: 9:00 AM – 9:00 PM\\\",\\\"Thursday: 9:00 AM – 9:00 PM\\\",\\\"Friday: 9:00 AM – 9:00 PM\\\",\\\"Saturday: 10:00 AM – 6:00 PM\\\",\\\"Sunday: Closed\\\"]}}]}\"\n  }\n}\n```\n\n##### Output\n\n```json\n{\n  \"operations\": [\n    {\n      \"add\": {\n        \"cost\": null,\n        \"pickup_point\": {\n          \"external_id\": \"001\",\n          \"name\": \"Toronto Store\",\n          \"provider\": {\n            \"name\": \"Shopify Demo\",\n            \"logo_url\": \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/shopify_icon_146101.png?v=1706120545\"\n          },\n          \"address\": {\n            \"address1\": \"620 King St W\",\n            \"address2\": null,\n            \"city\": \"Toronto\",\n            \"country\": \"Canada\",\n            \"country_code\": \"CA\",\n            \"latitude\": 43.644664618786685,\n            \"longitude\": -79.40066267417106,\n            \"phone\": null,\n            \"province\": \"Ontario\",\n            \"province_code\": \"ON\",\n            \"zip\": \"M5V 1M6\"\n          },\n          \"business_hours\": [\n            {\n              \"day\": \"MONDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"TUESDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"WEDNESDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"THURSDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"FRIDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"SATURDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"10:00:00\",\n                  \"closing_time\": \"18:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"SUNDAY\",\n              \"periods\": []\n            }\n          ]\n        }\n      }\n    }\n  ]\n}\n```\n\n## Usage\n\n### Installing dependencies\n\n1. Install the necessary dependencies by running the following command in your terminal:\n\n```bash\nyarn install\n```\n\n### Running tests\n\n1. Execute the tests by running the following command in your terminal:\n\n```bash\nyarn test\n```\n\n### Deploying the function to the app\n\n1. Navigate to the root directory of your app. Deploy the function by running the following command\nin your terminal:\n\n```bash\nyarn deploy\n```\n\n### Using the function in a store\n\n1. To activate the function, navigate to the specific location pickups points settings within the store admin.\nNavigate to: `Settings > Shipping and delivery > Shipping to pickup points > (pick a location) > Pickup point rates > Edit rate`.\nHere, select the function and click on 'Done', then 'Save'.\n\n2. To use the function, initiate a checkout process with a product available from the configured location.\nChoose 'Ship to Pickup Point' under the 'Delivery Method' section. Enter an address in Canada and click on 'Search'.\nA list of pickup points generated using this function should now be visible.\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nInformation about the allocation for one or more line items that are to be delivered to a specific address.\n\"\"\"\ntype Allocation {\n  \"\"\"\n  The delivery address for the allocation.\n  \"\"\"\n  deliveryAddress: MailingAddress!\n}\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe pickup point's hours of operation for a specific day of the week.\n\"\"\"\ninput BusinessHours {\n  \"\"\"\n  The day of the week.\n  \"\"\"\n  day: Weekday!\n\n  \"\"\"\n  The operating time periods for a specific day. To represent split schedules\n  (for example, 9:00-12:00 and 13:00-17:00 for locations that close during\n  lunch), you can specify multiple periods.\n\n  Each period consists of `opening_time` and `closing_time`. To indicate the\n  location is closed on a specific day, such as Sunday, then omit it entirely\n  from the `business_hours` array.\n  \"\"\"\n  periods: [BusinessHoursPeriod!]!\n}\n\n\"\"\"\nThe pickup point's hours of operation for a specific day of the week.\n\"\"\"\ninput BusinessHoursPeriod {\n  \"\"\"\n  The time that the pickup point location closes.\n  \"\"\"\n  closingTime: TimeWithoutTimezone!\n\n  \"\"\"\n  The time that the pickup point location opens.\n  \"\"\"\n  openingTime: TimeWithoutTimezone!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart implements HasMetafields {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The physical location where a retail order is created or completed.\n  \"\"\"\n  retailLocation: Location\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  The type of merchandise in the delivery group.\n  \"\"\"\n  groupType: CartDeliveryGroupType!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nDefines what type of merchandise is in the delivery group.\n\"\"\"\nenum CartDeliveryGroupType {\n  \"\"\"\n  The delivery group only contains merchandise that is either a one time purchase or a first delivery of\n  subscription merchandise.\n  \"\"\"\n  ONE_TIME_PURCHASE\n\n  \"\"\"\n  The delivery group only contains subscription merchandise.\n  \"\"\"\n  SUBSCRIPTION\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe fetch target result. Your Function must return this data structure when generating the request.\n\"\"\"\ninput FunctionFetchResult {\n  \"\"\"\n  The attributes associated with an HTTP request.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to\ngenerate pickup point delivery options at checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  An ordered list of operations to apply to generate pickup point delivery options.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request.\n\"\"\"\ninput HttpRequest {\n  \"\"\"\n  The HTTP request body as a plain string.\n  Use this field when the body isn't in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpRequestHeader!]!\n\n  \"\"\"\n  The HTTP request body as a JSON object.\n  Use this field when the body's in JSON format, to reduce function instruction consumption\n  and to ensure the body's formatted in logs.\n  Don't use this field together with the `body` field. If both are provided, then the `body` field\n  will take precedence.\n  If this field is specified and no `Content-Type` header is included, then the header will\n  automatically be set to `application/json`.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP method.\n  \"\"\"\n  method: HttpRequestMethod!\n\n  \"\"\"\n  Policy attached to the HTTP request.\n  \"\"\"\n  policy: HttpRequestPolicy!\n\n  \"\"\"\n  The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.\n  \"\"\"\n  url: URL!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request header.\n\"\"\"\ninput HttpRequestHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nThe HTTP request available methods.\n\"\"\"\nenum HttpRequestMethod {\n  \"\"\"\n  Http GET.\n  \"\"\"\n  GET\n\n  \"\"\"\n  Http POST.\n  \"\"\"\n  POST\n}\n\n\"\"\"\nThe attributes associated with an HTTP request policy.\n\"\"\"\ninput HttpRequestPolicy {\n  \"\"\"\n  Read timeout in milliseconds.\n  \"\"\"\n  readTimeoutMs: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response.\n\"\"\"\ntype HttpResponse {\n  \"\"\"\n  The HTTP response body as a plain string.\n  Use this field when the body is not in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  An HTTP header.\n  \"\"\"\n  header(\n    \"\"\"\n    A case-insensitive header name.\n    \"\"\"\n    name: String!\n  ): HttpResponseHeader\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpResponseHeader!]! @deprecated(reason: \"Use `header` instead.\")\n\n  \"\"\"\n  The HTTP response body parsed as JSON. \n  If the body is valid JSON, it will be parsed and returned as a JSON object. \n  If parsing fails, then raw body is returned as a string. \n  Use this field when you expect the response to be JSON, or when you're dealing\n  with mixed response types, meaning both JSON and non-JSON.\n  Using this field reduces function instruction consumption and ensures that the data is formatted in logs.\n  To prevent increasing the function target input size unnecessarily, avoid querying\n  both `body` and `jsonBody` simultaneously.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP status code.\n  \"\"\"\n  status: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response header.\n\"\"\"\ntype HttpResponseHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  A list of one or more line items that are to be delivered to a specific address.\n  \"\"\"\n  allocations: [Allocation!]! @deprecated(reason: \"Use `deliveryAddress` instead.\")\n\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The delivery address for the pickup point delivery option.\n  \"\"\"\n  deliveryAddress: MailingAddress!\n\n  \"\"\"\n  The fetch target result. Your Function must return this data structure when generating the request.\n  \"\"\"\n  fetchResult: HttpResponse @restrictTarget(only: [\"purchase.pickup-point-delivery-option-generator.run\"])\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nLocal pickup settings associated with a location.\n\"\"\"\ntype LocalPickup {\n  \"\"\"\n  Whether local pickup is enabled for the location.\n  \"\"\"\n  enabled: Boolean!\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Local pickup settings associated with a location.\n  \"\"\"\n  localPickup: LocalPickup!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ninput MetafieldOutput {\n  \"\"\"\n  The unique identifier for the metafield within its namespace. A metafield is composed of a\n  namespace and a key, in the format `namespace.key`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n  between different apps or different parts of the same app. If omitted, then the\n  [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n  is used.\n  \"\"\"\n  namespace: String\n\n  \"\"\"\n  The [type of data](https://shopify.dev/docs/apps/build/custom-data/metafields/list-of-data-types)\n  that's stored in the metafield.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data to store in the metafield.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the purchase.pickup-point-delivery-option-generator.fetch target.\n  \"\"\"\n  fetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the purchase.pickup-point-delivery-option-generator.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn ordered list of operations to generate pickup point delivery options.\n\"\"\"\ninput Operation {\n  \"\"\"\n  The pickup point delivery option to add.\n  \"\"\"\n  add: PickupPointDeliveryOption!\n}\n\n\"\"\"\nComprehensive geographic location information for a physical pickup point. [A pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points)\nis a location where customers can collect their online orders rather than having\nthem delivered to their home or a to a [local pickup point](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store).\nExamples of pickup points include local post offices, convenience stores, and\nself-service lockers.\n\nThis object stores both standard address fields and precise geolocation\ncoordinates for generating pickup points and associated data, such as a\nlocation's distance from the customer.\n\"\"\"\ninput PickupAddress {\n  \"\"\"\n  Address line 1.\n  \"\"\"\n  address1: String!\n\n  \"\"\"\n  Address line 2.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  City.\n  \"\"\"\n  city: String!\n\n  \"\"\"\n  Country.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  Country code.\n  \"\"\"\n  countryCode: CountryCode!\n\n  \"\"\"\n  Latitude.\n  \"\"\"\n  latitude: Float!\n\n  \"\"\"\n  Longitude.\n  \"\"\"\n  longitude: Float!\n\n  \"\"\"\n  Phone number.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  Province.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  Province code.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  Zip code.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA third-party location where customers can collect their orders, such as a local\npost office, convenience store, or self-service locker.\n\"\"\"\ninput PickupPoint {\n  \"\"\"\n  The address of the pickup point's location.\n  \"\"\"\n  address: PickupAddress!\n\n  \"\"\"\n  A list of operating hours for the pickup point. A day that's omitted or\n  doesn't have defined time periods is considered to be closed.\n  \"\"\"\n  businessHours: [BusinessHours!]\n\n  \"\"\"\n  The unique ID that the third-party service has assigned to the pickup point.\n  \"\"\"\n  externalId: String!\n\n  \"\"\"\n  The name that the third-party service has assigned to the pickup point.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The third-party service that manages pickup point delivery options.\n  \"\"\"\n  provider: Provider!\n}\n\n\"\"\"\nA pickup point delivery option, such as a local post office, convenience store, or self-service locker.\n\"\"\"\ninput PickupPointDeliveryOption {\n  \"\"\"\n  The delivery option's cost in the cart's currency. If not provided, then the\n  system uses the default price from the location's pickup points settings.\n  \"\"\"\n  cost: Decimal\n\n  \"\"\"\n  The metafields associated with the pickup point delivery option.\n  \"\"\"\n  metafields: [MetafieldOutput!] = []\n\n  \"\"\"\n  The [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points) where customers can collect their online orders rather than having them\n  delivered to their home or to a [local pickup point](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store).\n  Examples of pickup points include local post offices, convenience stores, and\n  self-service lockers.\n  \"\"\"\n  pickupPoint: PickupPoint!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe third-party service that manages the pickup point delivery options.\n\"\"\"\ninput Provider {\n  \"\"\"\n  The URL logo for the third-party service that manages the pickup point\n  delivery options. The base URL must be `https://cdn.shopify.com`.\n  \"\"\"\n  logoUrl: URL!\n\n  \"\"\"\n  The name of the third-party service that manages the pickup point delivery options.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nThe day of the week.\n\"\"\"\nenum Weekday {\n  \"\"\"\n  Friday\n  \"\"\"\n  FRIDAY\n\n  \"\"\"\n  Monday\n  \"\"\"\n  MONDAY\n\n  \"\"\"\n  Saturday\n  \"\"\"\n  SATURDAY\n\n  \"\"\"\n  Sunday\n  \"\"\"\n  SUNDAY\n\n  \"\"\"\n  Thursday\n  \"\"\"\n  THURSDAY\n\n  \"\"\"\n  Tuesday\n  \"\"\"\n  TUESDAY\n\n  \"\"\"\n  Wednesday\n  \"\"\"\n  WEDNESDAY\n}\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/shopify.extension.toml.liquid",
    "content": "api_version = \"unstable\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\ndescription = \"t:description\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\n\n  [[extensions.targeting]]\n  target = \"purchase.pickup-point-delivery-option-generator.fetch\"\n  input_query = \"src/fetch.graphql\"\n  export = \"fetch\"\n\n  [[extensions.targeting]]\n  target = \"purchase.pickup-point-delivery-option-generator.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/src/fetch.liquid",
    "content": "export function fetch(input) {\n    let { countryCode, longitude, latitude } = input.deliveryAddress;\n    if (longitude && latitude && countryCode === 'CA') {\n        return {\n            request: buildExternalApiRequest(latitude, longitude),\n        };\n    }\n    return { request: null };\n}\n\nfunction buildExternalApiRequest(latitude, longitude) {\n    // The latitude and longitude parameters are included in the URL for demonstration purposes only. They do not influence the result.\n    let url = `https://cdn.shopify.com/s/files/1/0628/3830/9033/files/pickup-points-external-api-v2.json?v=1714588690&lat=${latitude}&lon=${longitude}`\n\n    return {\n        method: 'GET',\n        url,\n        headers: [{\n            name: \"Accept\",\n            value: \"application/json; charset=utf-8\"\n        }],\n        body: null,\n        policy: {\n            readTimeoutMs: 500,\n        },\n    };\n}\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/src/fetch.test.liquid",
    "content": "import { describe, it, expect } from 'vitest';\nimport { fetch } from './fetch';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionFetchResult} FunctionFetchResult\n */\n\ndescribe('fetch function', () => {\n  it('returns a request when country is Canada', () => {\n    const result = fetch({\n      deliveryAddress: {\n        countryCode: 'CA',\n        longitude: 12.3,\n        latitude: 45.6,\n      }\n    });\n    const expected = ({\n      request: {\n        body: null,\n        headers: [\n          { name: \"Accept\", value: \"application/json; charset=utf-8\" },\n        ],\n        method: 'GET',\n        policy: {\n          readTimeoutMs: 500,\n        },\n        url: 'https://cdn.shopify.com/s/files/1/0628/3830/9033/files/pickup-points-external-api-v2.json?v=1714588690&lat=45.6&lon=12.3',\n      }\n    });\n\n    expect(result).toEqual(expected);\n  });\n\n  it('returns no request when country is not Canada', () => {\n    const result = fetch({\n      deliveryAddress: {\n        countryCode: 'US',\n        longitude: 12.3,\n        latitude: 45.6,\n      }\n    });\n    const expected = ({ request: null });\n\n    expect(result).toEqual(expected);\n  });\n});\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/src/index.liquid",
    "content": "export * from './run';\nexport * from './fetch';\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/src/run.liquid",
    "content": "export function run(input) {\n    const { fetchResult } = input;\n    const status = fetchResult?.status;\n    const body = fetchResult?.body;\n\n    let operations = [];\n\n    if (status === 200 && body) {\n        const { deliveryPoints } = JSON.parse(body);\n        operations = buildPickupPointDeliveryOptionOperations(deliveryPoints);\n    }\n\n    return { operations };\n\n}\n\nfunction buildPickupPointDeliveryOptionOperations(externalApiDeliveryPoints) {\n    return externalApiDeliveryPoints\n        .map(externalApiDeliveryPoint => ({ add: buildPickupPointDeliveryOption(externalApiDeliveryPoint) }));\n}\n\nfunction buildPickupPointDeliveryOption(externalApiDeliveryPoint) {\n    return {\n        cost: null,\n        pickupPoint: {\n            externalId: externalApiDeliveryPoint.pointId,\n            name: externalApiDeliveryPoint.pointName,\n            provider: buildProvider(),\n            address: buildAddress(externalApiDeliveryPoint),\n            businessHours: buildBusinessHours(externalApiDeliveryPoint),\n        },\n    };\n}\n\nfunction buildProvider() {\n    return {\n        name: \"Shopify Javascript Demo\",\n        logoUrl: \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/shopify_icon_146101.png?v=1706120545\",\n    };\n}\n\nfunction buildAddress(externalApiDeliveryPoint) {\n    let location = externalApiDeliveryPoint.location;\n    let addressComponents = location.addressComponents;\n    let geometry = location.geometry.location;\n    let administrativeArea = addressComponents.administrativeArea;\n\n    return {\n        address1: `${addressComponents.streetNumber} ${addressComponents.route}`,\n        address2: null,\n        city: addressComponents.locality,\n        country: addressComponents.country,\n        countryCode: addressComponents.countryCode,\n        latitude: geometry.lat,\n        longitude: geometry.lng,\n        phone: null,\n        province: administrativeArea.name,\n        provinceCode: administrativeArea.code,\n        zip: addressComponents.postalCode,\n    };\n}\n\n// Transforms the opening hours of a delivery point into a vector of `BusinessHours` objects.\n// Each day's opening hours are represented using a `BusinessHours` object as follows:\n// \"Monday: 9:00 AM – 5:00 PM\" is transformed to {day: \"MONDAY\", periods: [{opening_time: \"09:00:00\", closing_time: \"17:00:00\"}]}\n// \"Tuesday: Closed\" is transformed to {day: \"TUESDAY\", periods: []}\nfunction buildBusinessHours(externalApiDeliveryPoint) {\n    if(!externalApiDeliveryPoint.openingHours) {\n        return null;\n    }\n\n   return externalApiDeliveryPoint.openingHours.weekdayText\n        .map(day => {\n            let dayParts = day.split(\": \");\n            let dayName = dayParts[0].toUpperCase();\n            if (dayParts[1] === \"Closed\") {\n                return { day: dayName, periods: [] };\n            } else {\n                let openingClosingTimes = dayParts[1].split(\" – \");\n                return {\n                    day: dayName,\n                    periods: [{\n                        openingTime: formatTime(openingClosingTimes[0]),\n                        closingTime: formatTime(openingClosingTimes[1]),\n                    }],\n                };\n            }\n        });\n}\n\n// Converts a time string from 12-hour to 24-hour format.\n// Example: \"9:00 AM\" => \"09:00:00\", \"5:00 PM\" => \"17:00:00\"\nfunction formatTime(time) {\n    let timeParts = time.split(' ');\n    let hourMin = timeParts[0].split(':');\n    let hour = parseInt(hourMin[0]);\n    let min = hourMin[1];\n    let period = timeParts[1];\n\n    let hourIn24Format = period === 'AM' ? (hour === 12 ? 0 : hour) : (hour === 12 ? hour : hour + 12);\n\n    return `${hourIn24Format.toString().padStart(2, '0')}:${min}:00`;\n}\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/src/run.test.liquid",
    "content": "import { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n\ndescribe('run function', () => {\n  it('returns operations when fetch result is successful', () => {\n    const result = run({\n      fetchResult: {\n        status: 200,\n        body: JSON.stringify({\n          deliveryPoints: [\n            {\n              location: {\n                addressComponents: {\n                  country: 'Canada',\n                  countryCode: 'CA',\n                  streetNumber: '123',\n                  route: 'Main St',\n                  locality: 'Toronto',\n                  administrativeArea: {\n                    name: 'Ontario',\n                    code: 'ON'\n                  },\n                  postalCode: 'M5V 2T6',\n                },\n                geometry: {\n                  location: {\n                    lat: 43.70,\n                    lng: -79.42,\n                  },\n                },\n              },\n              openingHours: {\n                weekdayText: [\n                  'Monday: 9:00 AM – 5:00 PM',\n                  'Tuesday: 9:00 AM – 5:00 PM',\n                  'Wednesday: 9:00 AM – 5:00 PM',\n                  'Thursday: 9:00 AM – 5:00 PM',\n                  'Friday: 9:00 AM – 5:00 PM',\n                  'Saturday: Closed',\n                  'Sunday: Closed',\n                ],\n              },\n              pointId: '1',\n              pointName: 'Point 1',\n            },\n          ],\n        }),\n      },\n    });\n\n    const expected = {\n      operations: [\n        {\n          add: {\n            cost: null,\n            pickupPoint: {\n              address: {\n                address1: '123 Main St',\n                address2: null,\n                city: 'Toronto',\n                country: 'Canada',\n                countryCode: 'CA',\n                latitude: 43.70,\n                longitude: -79.42,\n                phone: null,\n                province: 'Ontario',\n                provinceCode: 'ON',\n                zip: 'M5V 2T6',\n              },\n              businessHours: [\n                { day: 'MONDAY', periods: [{ openingTime: '09:00:00', closingTime: '17:00:00' }] },\n                { day: 'TUESDAY', periods: [{ openingTime: '09:00:00', closingTime: '17:00:00' }] },\n                { day: 'WEDNESDAY', periods: [{ openingTime: '09:00:00', closingTime: '17:00:00' }] },\n                { day: 'THURSDAY', periods: [{ openingTime: '09:00:00', closingTime: '17:00:00' }] },\n                { day: 'FRIDAY', periods: [{ openingTime: '09:00:00', closingTime: '17:00:00' }] },\n                { day: 'SATURDAY', periods: [] },\n                { day: 'SUNDAY', periods: [] },\n              ],\n              provider: {\n                name: 'Shopify Javascript Demo',\n                logoUrl: 'https://cdn.shopify.com/s/files/1/0628/3830/9033/files/shopify_icon_146101.png?v=1706120545',\n              },\n              externalId: '1',\n              name: 'Point 1',\n            },\n          },\n        },\n      ],\n    };\n\n    expect(result).toEqual(expected);\n  });\n\n  it('returns no operations when fetch result is unsuccessful', () => {\n    const result = run({\n      fetchResult: {\n        status: 404,\n        body: null,\n      },\n    });\n    const expected = {\n      operations: []\n    }\n\n    expect(result).toEqual(expected);\n  });\n\n  it(\"returns an add operation with null pickup point business hours when the external API's delivery point has null opening hours\", () => {\n    const result = run({\n      fetchResult: {\n        status: 200,\n        body: JSON.stringify({\n          deliveryPoints: [\n            {\n              location: {\n                addressComponents: {\n                  country: 'Canada',\n                  countryCode: 'CA',\n                  streetNumber: '123',\n                  route: 'Main St',\n                  locality: 'Toronto',\n                  administrativeArea: {\n                    name: \"Ontario\",\n                    code: \"ON\"\n                  },\n                  postalCode: 'M5V 2T6',\n                },\n                geometry: {\n                  location: {\n                    lat: 43.70,\n                    lng: -79.42,\n                  },\n                },\n              },\n              openingHours: null,\n              pointId: '1',\n              pointName: 'Point 1',\n            },\n          ],\n        }),\n      },\n    });\n\n    const expected = {\n      operations: [\n        {\n          add: {\n            cost: null,\n            pickupPoint: {\n              address: {\n                address1: '123 Main St',\n                address2: null,\n                city: 'Toronto',\n                country: 'Canada',\n                countryCode: 'CA',\n                latitude: 43.70,\n                longitude: -79.42,\n                phone: null,\n                province: 'Ontario',\n                provinceCode: 'ON',\n                zip: 'M5V 2T6',\n              },\n              businessHours: null,\n              provider: {\n                name: 'Shopify Javascript Demo',\n                logoUrl: 'https://cdn.shopify.com/s/files/1/0628/3830/9033/files/shopify_icon_146101.png?v=1706120545',\n              },\n              externalId: '1',\n              name: 'Point 1',\n            },\n          },\n        },\n      ],\n    };\n\n    expect(result).toEqual(expected);\n  });\n});\n"
  },
  {
    "path": "order-routing/javascript/pickup-point-delivery-option-generators/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "order-routing/rust/fulfillment-constraints/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "order-routing/rust/fulfillment-constraints/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "order-routing/rust/fulfillment-constraints/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "order-routing/rust/fulfillment-constraints/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA customization which applies constraint rules to order routing and fulfillments.\n\"\"\"\ntype FulfillmentConstraintRule implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply constraints for fulfilling orders.\nIn API versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply when\n  [fulfilling orders](https://help.shopify.com/manual/fulfillment/fulfilling-orders).\n  You can either specify a list of locations where cart items can be fulfilled from,\n  or specify that cart items must be fulfilled from the same location.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply constraints for fulfilling orders.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply when\n  [fulfilling orders](https://help.shopify.com/manual/fulfillment/fulfilling-orders).\n  You can either specify a list of locations where cart items can be fulfilled from,\n  or specify that cart items must be fulfilled from the same location.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function uses to determine how to\n  [fulfill orders](https://help.shopify.com/manual/fulfillment/fulfilling-orders). It includes the\n  [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  fulfillmentConstraintRule: FulfillmentConstraintRule!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  A list of all geographical locations where the inventory is stored,\n  including warehouses, retail locations, and distribution centers.\n  \"\"\"\n  locations(\n    \"\"\"\n    A list of [globally-unique identifiers](https://shopify.dev/docs/api/usage/gids)\n    for the locations where inventory resides.\n    \"\"\"\n    identifiers: [String!]\n\n    \"\"\"\n    A list of location names where the inventory resides.\n    \"\"\"\n    names: [String!]\n  ): [Location!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nForce a set of items to be fulfilled from a specified location.\nIf the cart item isn't stocked at the specified location, then checkout won't return any shipping rates and\ncompleting checkout will be blocked.\n\"\"\"\ninput MustFulfillFrom {\n  \"\"\"\n  The IDs of the deliverable lines for which the constraint is applied.\n  \"\"\"\n  deliverableLineIds: [ID!]\n\n  \"\"\"\n  The IDs of the locations for which the cart lines must fulfill from.\n  \"\"\"\n  locationIds: [ID!]!\n}\n\n\"\"\"\nForce a set of items to be fulfilled from the same location.\nIf the cart items with constraints aren't stocked at the same location,\nthen checkout won't return any shipping rates and completing checkout will be blocked.\n\"\"\"\ninput MustFulfillFromSameLocation {\n  \"\"\"\n  The IDs of the deliverable lines for which the constraint is applied.\n  \"\"\"\n  deliverableLineIds: [ID!]\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.fulfillment-constraint-rule.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply fulfillment constraints.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  Force a set of items to be fulfilled from a specified location.\n  If the cart item isn't stocked at the specified location, then checkout won't return any shipping rates and\n  completing checkout will be blocked.\n  \"\"\"\n  mustFulfillFrom: MustFulfillFrom\n\n  \"\"\"\n  Force a set of items to be fulfilled from the same location.\n  If the cart items with constraints aren't stocked at the same location,\n  then checkout won't return any shipping rates and completing checkout will be blocked.\n  \"\"\"\n  mustFulfillFromSameLocation: MustFulfillFromSameLocation\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/rust/fulfillment-constraints/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.fulfillment-constraint-rule.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/rust/fulfillment-constraints/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "order-routing/rust/fulfillment-constraints/default/src/run.graphql.liquid",
    "content": "query Input {\n  cart {\n    deliverableLines {\n      id\n    }\n  }\n  fulfillmentConstraintRule {\n    metafield(namespace: \"$app:fulfillment-constraints\", key: \"function-configuration\") {\n      value\n    }\n  }\n}"
  },
  {
    "path": "order-routing/rust/fulfillment-constraints/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[allow(dead_code)]\nstruct Config {}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(_input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let operations = vec![];\n\n    // Build operations based on the input query response here.\n\n    Ok(output::FunctionRunResult { operations })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_result_contains_no_operations() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n              {\n                \"cart\": {\n                  \"deliverableLines\": [\n                    {\n                      \"id\": \"gid://shopify/DeliverableCartLine/1\"\n                    },\n                    {\n                      \"id\": \"gid://shopify/DeliverableCartLine/2\"\n                    }\n                  ]\n                },\n                \"fulfillmentConstraintRule\": {\n                  \"metafield\": null\n                }\n              }\n            \"#,\n        )?;\n\n        let expected = FunctionRunResult { operations: vec![] };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "order-routing/rust/local-pickup-delivery-option-generators/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "order-routing/rust/local-pickup-delivery-option-generators/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{name | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "order-routing/rust/local-pickup-delivery-option-generators/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}"
  },
  {
    "path": "order-routing/rust/local-pickup-delivery-option-generators/default/metadata.json",
    "content": "{\"schemaVersions\":{\"local_pickup_delivery_option_generator\":{\"major\":1,\"minor\":0}}}\n"
  },
  {
    "path": "order-routing/rust/local-pickup-delivery-option-generators/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart implements HasMetafields {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The physical location where a retail order is created or completed.\n  \"\"\"\n  retailLocation: Location\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  The type of merchandise in the delivery group.\n  \"\"\"\n  groupType: CartDeliveryGroupType!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nDefines what type of merchandise is in the delivery group.\n\"\"\"\nenum CartDeliveryGroupType {\n  \"\"\"\n  The delivery group only contains merchandise that is either a one time purchase or a first delivery of\n  subscription merchandise.\n  \"\"\"\n  ONE_TIME_PURCHASE\n\n  \"\"\"\n  The delivery group only contains subscription merchandise.\n  \"\"\"\n  SUBSCRIPTION\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA customization representing how delivery options are generated.\n\"\"\"\ntype DeliveryOptionGenerator implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA group of one or more items to be fulfilled together. Every cart line belongs to\nexactly one fulfillment group.\n\"\"\"\ntype FulfillmentGroup {\n  \"\"\"\n  The delivery group for the fulfillment group. Contains information about\n  the destination address and which delivery options were available for this\n  set of cart lines.\n  \"\"\"\n  deliveryGroup: CartDeliveryGroup!\n\n  \"\"\"\n  The fulfillment group handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The ID of the fulfillment group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The list of inventory location handles for the fulfillment group.\n  These are the locations that stock the items, and can be used to fulfill\n  this particular group of items.\n  \"\"\"\n  inventoryLocationHandles: [Handle!]!\n\n  \"\"\"\n  The merchandise in the fulfillment group. A subset of cart lines.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to generate local pickup options in checkout.\nIn API versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply when generating\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store)\n  options.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to generate local pickup options in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply when generating\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store)\n  options.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function uses to generate\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store)\n  options. It includes the [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  deliveryOptionGenerator: DeliveryOptionGenerator!\n\n  \"\"\"\n  A list of\n  [fulfillment locations](https://shopify.dev/manual/fulfillment/setup/shipping-profiles/managing-fulfillment-locations)\n  that contain one or more items to be shipped together. Each item in the cart is assigned to one\n  fulfillment group.\n  \"\"\"\n  fulfillmentGroups: [FulfillmentGroup!]!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  A list of all geographical locations where the inventory is stored,\n  including warehouses, retail locations, and distribution centers.\n  The list captures the locations that can fulfill items in the cart or that offer local pickup.\n  \"\"\"\n  locations: [Location!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nLocal pickup settings associated with a location.\n\"\"\"\ntype LocalPickup {\n  \"\"\"\n  Whether local pickup is enabled for the location.\n  \"\"\"\n  enabled: Boolean!\n}\n\n\"\"\"\nA local pickup delivery option, which will be presented to the customer.\n\"\"\"\ninput LocalPickupDeliveryOption {\n  \"\"\"\n  The cost of the delivery option in the currency of the cart. Defaults to zero.\n  \"\"\"\n  cost: Decimal\n\n  \"\"\"\n  Metafields associated with the delivery option.\n  \"\"\"\n  metafields: [MetafieldOutput!] = []\n\n  \"\"\"\n  The pickup location.\n  \"\"\"\n  pickupLocation: PickupLocation!\n\n  \"\"\"\n  The title of the delivery option. Defaults to pickup location's name.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Local pickup settings associated with a location.\n  \"\"\"\n  localPickup: LocalPickup!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ninput MetafieldOutput {\n  \"\"\"\n  The unique identifier for the metafield within its namespace. A metafield is composed of a\n  namespace and a key, in the format `namespace.key`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n  between different apps or different parts of the same app. If omitted, then the\n  [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n  is used.\n  \"\"\"\n  namespace: String\n\n  \"\"\"\n  The [type of data](https://shopify.dev/docs/apps/build/custom-data/metafields/list-of-data-types)\n  that's stored in the metafield.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data to store in the metafield.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.local-pickup-delivery-option-generator.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to generate local pickup delivery options.\n\"\"\"\ninput Operation {\n  \"\"\"\n  The local pickup delivery option to add.\n  \"\"\"\n  add: LocalPickupDeliveryOption!\n}\n\ninput PickupLocation {\n  \"\"\"\n  The location handle of the pickup in-store location.\n  \"\"\"\n  locationHandle: Handle!\n\n  \"\"\"\n  The pickup instruction to show to customers at checkout.\n  Defaults to location's local pickup expected pickup time setting.\n  \"\"\"\n  pickupInstruction: String\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/rust/local-pickup-delivery-option-generators/default/shopify.extension.toml.liquid",
    "content": "api_version = \"unstable\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\ndescription = \"t:description\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\n\n  [[extensions.targeting]]\n  target = \"purchase.local-pickup-delivery-option-generator.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/rust/local-pickup-delivery-option-generators/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "order-routing/rust/local-pickup-delivery-option-generators/default/src/run.graphql.liquid",
    "content": "query Input {\n  cart {\n    lines {\n      id\n    }\n  }\n  fulfillmentGroups {\n    handle\n    inventoryLocationHandles\n    lines {\n      id\n    }\n    deliveryGroup {\n      id\n    }\n  }\n  locations {\n    handle\n    name\n    address {\n      address1\n    }\n  }\n  deliveryOptionGenerator {\n    metafield: metafield(namespace: \"$app:local-pickup-options-generator\", key: \"pickup-ids\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "order-routing/rust/local-pickup-delivery-option-generators/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[allow(dead_code)]\nstruct Config {}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(_input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let operations = vec![output::Operation {\n        add: output::LocalPickupDeliveryOption {\n            title: Some(\"Main St.\".to_string()),\n            cost: Some(Decimal(1.99)),\n            pickup_location: output::PickupLocation {\n                location_handle: \"2578303\".to_string(),\n                pickup_instruction: Some(\"Usually ready in 24 hours.\".to_string()),\n            },\n            metafields: None,\n        },\n    }];\n\n    // Build operations based on the input query response here.\n\n    Ok(output::FunctionRunResult { operations })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::run::*;\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_result_contains_no_operations() -> Result<()> {\n        let result = run_function_with_input(\n            run,\n            r#\"\n          {\n            \"cart\": {\n              \"lines\": [\n                {\n                  \"id\": \"gid://shopify/CartLine/1\"\n                }\n              ]\n            },\n            \"fulfillmentGroups\": [\n              {\n                \"handle\":  \"1\",\n                \"lines\": [\n                  {\n                    \"id\": \"gid://shopify/CartLine/1\"\n                  }\n                ],\n                \"deliveryGroup\": {\n                  \"id\": \"gid://shopify/CartDeliveryGroup/1\"\n                },\n                \"inventoryLocationHandles\": [\"2578303\"]\n              }\n            ],\n            \"locations\": [\n              {\n                \"handle\": \"2578303\",\n                \"name\": \"Main St.\",\n                \"address\": {\n                  \"address1\": \"123 Main St.\"\n                }\n              }\n            ],\n            \"deliveryOptionGenerator\": {\n              \"metafield\": null\n            }\n          }\n        \"#,\n        )?;\n\n        let operations = vec![output::Operation {\n            add: output::LocalPickupDeliveryOption {\n                title: Some(\"Main St.\".to_string()),\n                cost: Some(Decimal(1.99)),\n                pickup_location: output::PickupLocation {\n                    location_handle: \"2578303\".to_string(),\n                    pickup_instruction: Some(\"Usually ready in 24 hours.\".to_string()),\n                },\n                metafields: None,\n            },\n        }];\n\n        let expected = output::FunctionRunResult { operations };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "order-routing/rust/location-rules/default/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "order-routing/rust/location-rules/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "order-routing/rust/location-rules/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "order-routing/rust/location-rules/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA group of one or more items to be fulfilled together.\n\"\"\"\ntype FulfillmentGroup {\n  \"\"\"\n  The delivery address for the fulfillment group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery group for the fulfillment group.\n  \"\"\"\n  deliveryGroup: CartDeliveryGroup! @deprecated(reason: \"Use `deliveryAddress` instead.\")\n\n  \"\"\"\n  The fulfillment group handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The ID of the fulfillment group.\n  \"\"\"\n  id: ID! @deprecated(reason: \"Use `handle` instead.\")\n\n  \"\"\"\n  A list of inventory location handles for the fulfillment group.\n  \"\"\"\n  inventoryLocationHandles: [Handle!]!\n\n  \"\"\"\n  A list of lines containing information about the items that are part of the fulfillment group.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nA list of ranked locations for this fulfillment group.\n\"\"\"\ninput FulfillmentGroupRankedLocations {\n  \"\"\"\n  The identifier for the fulfillment group.\n  \"\"\"\n  fulfillmentGroupHandle: Handle!\n\n  \"\"\"\n  The ranked locations for this fulfillment group.\n  \"\"\"\n  rankings: [RankedLocation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations that rank locations for each fulfillment\ngroup. In API versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations that rank locations for each fulfillment group,\n  which includes one or more items to be shipped together.\n  The locations with the highest ranking are selected to fulfill the order.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations that rank locations for each fulfillment group.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations that rank locations for each fulfillment group,\n  which includes one or more items to be shipped together.\n  The locations with the highest ranking are selected to fulfill the order.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A list of\n  [fulfillment locations](https://shopify.dev/manual/fulfillment/setup/shipping-profiles/managing-fulfillment-locations)\n  that contain one or more items to be shipped together. Each item in the cart is assigned to one\n  fulfillment group.\n  \"\"\"\n  fulfillmentGroups: [FulfillmentGroup!]!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The backend logic that the Function uses to\n  [route orders](https://help.shopify.com/manual/fulfillment/setup/order-routing/understanding-order-routing).\n  It includes the [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  locationRule: OrderRoutingLocationRule!\n\n  \"\"\"\n  A list of all geographical locations where the inventory is stored,\n  including warehouses, retail locations, and distribution centers.\n  The list captures the locations that can fulfill items in the cart.\n  \"\"\"\n  locations: [Location!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.order-routing-location-rule.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the fulfillment group inventory locations.\n\"\"\"\ninput Operation {\n  \"\"\"\n  A request to rank the locations associated with a fulfillment group.\n  The ranking determines the priority in which the locations are selected to fulfill the order.\n  \"\"\"\n  rank: FulfillmentGroupRankedLocations!\n}\n\n\"\"\"\nA customization which ranks inventory locations for fulfillment purposes.\n\"\"\"\ntype OrderRoutingLocationRule implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nA location with a rank associated with it.\n\"\"\"\ninput RankedLocation {\n  \"\"\"\n  The location handle.\n  \"\"\"\n  locationHandle: Handle!\n\n  \"\"\"\n  The location's rank.\n  \"\"\"\n  rank: Int!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/rust/location-rules/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.order-routing-location-rule.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"-\" | downcase}}.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/rust/location-rules/default/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "order-routing/rust/location-rules/default/src/run.graphql.liquid",
    "content": "query Input {\n  fulfillmentGroups {\n    handle\n    inventoryLocationHandles\n  }\n}\n"
  },
  {
    "path": "order-routing/rust/location-rules/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[allow(dead_code)]\nstruct Config {}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let operations = input\n        .fulfillment_groups\n        .iter()\n        .map(|group| {\n            let rankings = group\n                .inventory_location_handles\n                .iter()\n                .map(|location_handle| output::RankedLocation {\n                    location_handle: location_handle.clone(),\n                    rank: 0,\n                })\n                .collect::<Vec<output::RankedLocation>>();\n\n            output::Operation {\n                rank: output::FulfillmentGroupRankedLocations {\n                    fulfillment_group_handle: group.handle.clone(),\n                    rankings,\n                },\n            }\n        })\n        .collect();\n\n    Ok(output::FunctionRunResult { operations })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_result_ranks_all_locations_zero() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"fulfillmentGroups\": [{\n                        \"handle\": \"123\",\n                        \"inventoryLocationHandles\": [\"456\"]\n                    }]\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult {\n            operations: vec![Operation {\n                rank: FulfillmentGroupRankedLocations {\n                    fulfillment_group_handle: \"123\".to_string(),\n                    rankings: vec![RankedLocation {\n                        location_handle: \"456\".to_string(),\n                        rank: 0,\n                    }],\n                },\n            }],\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "order-routing/rust/pickup-point-delivery-option-generators/default/.gitignore",
    "content": "/target\nCargo.lock"
  },
  {
    "path": "order-routing/rust/pickup-point-delivery-option-generators/default/Cargo.toml.liquid",
    "content": "[package]\nname = \"{{handle | replace: \" \", \"-\" | downcase}}\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "order-routing/rust/pickup-point-delivery-option-generators/default/README.md",
    "content": "# Pickup point delivery option generators demo\n\nThis repository contains a function that demonstrates how to generate pickup point delivery options based on an external\nAPI accessible via an HTTP request. To simulate an external API, we have hosted a\n[JSON file](https://cdn.shopify.com/s/files/1/0628/3830/9033/files/pickup-points-external-api-v2.json?v=1714588690),\nwhich contains pickup point information in the following format:\n\n```json\n{\n  \"deliveryPoints\": [\n    {\n      \"pointId\": \"001\",\n      \"pointName\": \"Toronto Store\",\n      \"location\": {\n        \"addressComponents\": {\n          \"streetNumber\": \"620\",\n          \"route\": \"King St W\",\n          \"locality\": \"Toronto\",\n          \"administrativeArea\": {\n            \"name\": \"Ontario\",\n            \"code\": \"ON\"\n          },\n          \"postalCode\": \"M5V 1M6\",\n          \"country\": \"Canada\",\n          \"countryCode\": \"CA\"\n        },\n        \"geometry\": {\n          \"location\": {\n            \"lat\": 43.644664618786685,\n            \"lng\": -79.40066267417106\n          }\n        }\n      },\n      \"openingHours\": {\n        \"weekdayText\": [\n          \"Monday: 9:00 AM – 9:00 PM\",\n          \"Tuesday: 9:00 AM – 9:00 PM\",\n          \"Wednesday: 9:00 AM – 9:00 PM\",\n          \"Thursday: 9:00 AM – 9:00 PM\",\n          \"Friday: 9:00 AM – 9:00 PM\",\n          \"Saturday: 10:00 AM – 6:00 PM\",\n          \"Sunday: Closed\"\n        ]\n      }\n    }\n  ]\n}\n```\n\n## Implementation details\n\nA function can have one or more targets, each characterized by a specific input/output API. The Pickup Point Delivery\nOption Generators have two targets: an optional **fetch** target and a **run** target. The input/output APIs are\nrepresented as a GraphQL API within the attached [schema](./schema.graphql).\n\n### Fetch target\n\nThe **fetch** target is responsible for generating an HTTP request to call the external API. Its input API is defined\nby the `Input` type in the [schema](./schema.graphql). In our demo, we are only interested in the delivery address\ncountry and latitude-longitude coordinates, which we specify within the [**fetch** target input query](./src/fetch.graphql).\n\nThe [**fetch** target](./src/fetch.rs) reads the input and generates an output representing an HTTP request to the\nexternal API if the address country is Canada. The output API is defined by the `FunctionFetchResult` type in\nthe [schema](./schema.graphql).\n\n#### Fetch target input/output example\n\n##### Input\n\n```json\n{\n  \"deliveryAddress\": {\n    \"countryCode\": \"CA\",\n    \"longitude\": 43.70,\n    \"latitude\": -79.42\n  }\n}\n```\n\n##### Output\n\n```json\n{\n  \"request\": {\n    \"method\": \"GET\",\n    \"url\": \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/pickup-points-external-api-v2.json?v=1714588690&lat=-79.42&lon=43.7\",\n    \"headers\": [\n      {\n        \"name\": \"Accept\",\n        \"value\": \"application/json; charset=utf-8\"\n      }\n    ],\n    \"body\": null,\n    \"policy\": {\n      \"read_timeout_ms\": 500\n    }\n  }\n}\n```\n### Run target\n\nThe **run** target is responsible for generating the pickup point delivery options. Its input API is defined by\nthe `Input` type in the [schema](./schema.graphql). In our demo, we are only interested in the external API HTTP\nresponse status and body, which we specify within the [**run** target input query](./src/run.graphql).\n\nThe [**run** target](./src/run.rs) parses the response body and produces the pickup point data in the format\nspecified by the `FunctionRunResult` type in the [schema](./schema.graphql).\n\n#### Run target input/output example\n\n##### Input\n\n```json\n{\n  \"fetchResult\": {\n    \"status\": 200,\n    \"body\": \"{\\\"deliveryPoints\\\":[{\\\"pointId\\\":\\\"001\\\",\\\"pointName\\\":\\\"Toronto Store\\\",\\\"location\\\":{\\\"addressComponents\\\":{\\\"streetNumber\\\":\\\"620\\\",\\\"route\\\":\\\"King St W\\\",\\\"locality\\\":\\\"Toronto\\\",\\\"administrativeArea\\\":{\\\"name\\\":\\\"Ontario\\\",\\\"code\\\":\\\"ON\\\"},\\\"postalCode\\\":\\\"M5V 1M6\\\",\\\"country\\\":\\\"Canada\\\",\\\"countryCode\\\":\\\"CA\\\"},\\\"geometry\\\":{\\\"location\\\":{\\\"lat\\\":43.644664618786685,\\\"lng\\\":-79.40066267417106}}},\\\"openingHours\\\":{\\\"weekdayText\\\":[\\\"Monday: 9:00 AM – 9:00 PM\\\",\\\"Tuesday: 9:00 AM – 9:00 PM\\\",\\\"Wednesday: 9:00 AM – 9:00 PM\\\",\\\"Thursday: 9:00 AM – 9:00 PM\\\",\\\"Friday: 9:00 AM – 9:00 PM\\\",\\\"Saturday: 10:00 AM – 6:00 PM\\\",\\\"Sunday: Closed\\\"]}}]}\"\n  }\n}\n```\n\n##### Output\n\n```json\n{\n  \"operations\": [\n    {\n      \"add\": {\n        \"cost\": null,\n        \"pickup_point\": {\n          \"external_id\": \"001\",\n          \"name\": \"Toronto Store\",\n          \"provider\": {\n            \"name\": \"Shopify Demo\",\n            \"logo_url\": \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/shopify_icon_146101.png?v=1706120545\"\n          },\n          \"address\": {\n            \"address1\": \"620 King St W\",\n            \"address2\": null,\n            \"city\": \"Toronto\",\n            \"country\": \"Canada\",\n            \"country_code\": \"CA\",\n            \"latitude\": 43.644664618786685,\n            \"longitude\": -79.40066267417106,\n            \"phone\": null,\n            \"province\": \"Ontario\",\n            \"province_code\": \"ON\",\n            \"zip\": \"M5V 1M6\"\n          },\n          \"business_hours\": [\n            {\n              \"day\": \"MONDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"TUESDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"WEDNESDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"THURSDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"FRIDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"SATURDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"10:00:00\",\n                  \"closing_time\": \"18:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"SUNDAY\",\n              \"periods\": []\n            }\n          ]\n        }\n      }\n    }\n  ]\n}\n```\n\n## Usage\n\n### Running tests\n\n1. Execute the tests by running the following command in your terminal:\n\n```bash\ncargo test\n```\n\n### Deploying the function to the app\n\n1. Navigate to the root directory of your app. Deploy the function by running the following command\nin your terminal:\n\n```bash\nyarn deploy\n```\n\n### Using the function in a store\n\n1. To activate the function, navigate to the specific location pickups points settings within the store admin.\nNavigate to: `Settings > Shipping and delivery > Shipping to pickup points > (pick a location) > Pickup point rates > Edit rate`.\nHere, select the function and click on 'Done', then 'Save'.\n\n2. To use the function, initiate a checkout process with a product available from the configured location.\nChoose 'Ship to Pickup Point' under the 'Delivery Method' section. Enter an address in Canada and click on 'Search'.\nA list of pickup points generated using this function should now be visible.\n"
  },
  {
    "path": "order-routing/rust/pickup-point-delivery-option-generators/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}"
  },
  {
    "path": "order-routing/rust/pickup-point-delivery-option-generators/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nInformation about the allocation for one or more line items that are to be delivered to a specific address.\n\"\"\"\ntype Allocation {\n  \"\"\"\n  The delivery address for the allocation.\n  \"\"\"\n  deliveryAddress: MailingAddress!\n}\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe pickup point's hours of operation for a specific day of the week.\n\"\"\"\ninput BusinessHours {\n  \"\"\"\n  The day of the week.\n  \"\"\"\n  day: Weekday!\n\n  \"\"\"\n  The operating time periods for a specific day. To represent split schedules\n  (for example, 9:00-12:00 and 13:00-17:00 for locations that close during\n  lunch), you can specify multiple periods.\n\n  Each period consists of `opening_time` and `closing_time`. To indicate the\n  location is closed on a specific day, such as Sunday, then omit it entirely\n  from the `business_hours` array.\n  \"\"\"\n  periods: [BusinessHoursPeriod!]!\n}\n\n\"\"\"\nThe pickup point's hours of operation for a specific day of the week.\n\"\"\"\ninput BusinessHoursPeriod {\n  \"\"\"\n  The time that the pickup point location closes.\n  \"\"\"\n  closingTime: TimeWithoutTimezone!\n\n  \"\"\"\n  The time that the pickup point location opens.\n  \"\"\"\n  openingTime: TimeWithoutTimezone!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart implements HasMetafields {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The physical location where a retail order is created or completed.\n  \"\"\"\n  retailLocation: Location\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  The type of merchandise in the delivery group.\n  \"\"\"\n  groupType: CartDeliveryGroupType!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nDefines what type of merchandise is in the delivery group.\n\"\"\"\nenum CartDeliveryGroupType {\n  \"\"\"\n  The delivery group only contains merchandise that is either a one time purchase or a first delivery of\n  subscription merchandise.\n  \"\"\"\n  ONE_TIME_PURCHASE\n\n  \"\"\"\n  The delivery group only contains subscription merchandise.\n  \"\"\"\n  SUBSCRIPTION\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe fetch target result. Your Function must return this data structure when generating the request.\n\"\"\"\ninput FunctionFetchResult {\n  \"\"\"\n  The attributes associated with an HTTP request.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to\ngenerate pickup point delivery options at checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  An ordered list of operations to apply to generate pickup point delivery options.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request.\n\"\"\"\ninput HttpRequest {\n  \"\"\"\n  The HTTP request body as a plain string.\n  Use this field when the body isn't in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpRequestHeader!]!\n\n  \"\"\"\n  The HTTP request body as a JSON object.\n  Use this field when the body's in JSON format, to reduce function instruction consumption\n  and to ensure the body's formatted in logs.\n  Don't use this field together with the `body` field. If both are provided, then the `body` field\n  will take precedence.\n  If this field is specified and no `Content-Type` header is included, then the header will\n  automatically be set to `application/json`.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP method.\n  \"\"\"\n  method: HttpRequestMethod!\n\n  \"\"\"\n  Policy attached to the HTTP request.\n  \"\"\"\n  policy: HttpRequestPolicy!\n\n  \"\"\"\n  The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.\n  \"\"\"\n  url: URL!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request header.\n\"\"\"\ninput HttpRequestHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nThe HTTP request available methods.\n\"\"\"\nenum HttpRequestMethod {\n  \"\"\"\n  Http GET.\n  \"\"\"\n  GET\n\n  \"\"\"\n  Http POST.\n  \"\"\"\n  POST\n}\n\n\"\"\"\nThe attributes associated with an HTTP request policy.\n\"\"\"\ninput HttpRequestPolicy {\n  \"\"\"\n  Read timeout in milliseconds.\n  \"\"\"\n  readTimeoutMs: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response.\n\"\"\"\ntype HttpResponse {\n  \"\"\"\n  The HTTP response body as a plain string.\n  Use this field when the body is not in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  An HTTP header.\n  \"\"\"\n  header(\n    \"\"\"\n    A case-insensitive header name.\n    \"\"\"\n    name: String!\n  ): HttpResponseHeader\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpResponseHeader!]! @deprecated(reason: \"Use `header` instead.\")\n\n  \"\"\"\n  The HTTP response body parsed as JSON. \n  If the body is valid JSON, it will be parsed and returned as a JSON object. \n  If parsing fails, then raw body is returned as a string. \n  Use this field when you expect the response to be JSON, or when you're dealing\n  with mixed response types, meaning both JSON and non-JSON.\n  Using this field reduces function instruction consumption and ensures that the data is formatted in logs.\n  To prevent increasing the function target input size unnecessarily, avoid querying\n  both `body` and `jsonBody` simultaneously.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP status code.\n  \"\"\"\n  status: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response header.\n\"\"\"\ntype HttpResponseHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  A list of one or more line items that are to be delivered to a specific address.\n  \"\"\"\n  allocations: [Allocation!]! @deprecated(reason: \"Use `deliveryAddress` instead.\")\n\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The delivery address for the pickup point delivery option.\n  \"\"\"\n  deliveryAddress: MailingAddress!\n\n  \"\"\"\n  The fetch target result. Your Function must return this data structure when generating the request.\n  \"\"\"\n  fetchResult: HttpResponse @restrictTarget(only: [\"purchase.pickup-point-delivery-option-generator.run\"])\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nLocal pickup settings associated with a location.\n\"\"\"\ntype LocalPickup {\n  \"\"\"\n  Whether local pickup is enabled for the location.\n  \"\"\"\n  enabled: Boolean!\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Local pickup settings associated with a location.\n  \"\"\"\n  localPickup: LocalPickup!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ninput MetafieldOutput {\n  \"\"\"\n  The unique identifier for the metafield within its namespace. A metafield is composed of a\n  namespace and a key, in the format `namespace.key`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n  between different apps or different parts of the same app. If omitted, then the\n  [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n  is used.\n  \"\"\"\n  namespace: String\n\n  \"\"\"\n  The [type of data](https://shopify.dev/docs/apps/build/custom-data/metafields/list-of-data-types)\n  that's stored in the metafield.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data to store in the metafield.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the purchase.pickup-point-delivery-option-generator.fetch target.\n  \"\"\"\n  fetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the purchase.pickup-point-delivery-option-generator.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn ordered list of operations to generate pickup point delivery options.\n\"\"\"\ninput Operation {\n  \"\"\"\n  The pickup point delivery option to add.\n  \"\"\"\n  add: PickupPointDeliveryOption!\n}\n\n\"\"\"\nComprehensive geographic location information for a physical pickup point. [A pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points)\nis a location where customers can collect their online orders rather than having\nthem delivered to their home or a to a [local pickup point](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store).\nExamples of pickup points include local post offices, convenience stores, and\nself-service lockers.\n\nThis object stores both standard address fields and precise geolocation\ncoordinates for generating pickup points and associated data, such as a\nlocation's distance from the customer.\n\"\"\"\ninput PickupAddress {\n  \"\"\"\n  Address line 1.\n  \"\"\"\n  address1: String!\n\n  \"\"\"\n  Address line 2.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  City.\n  \"\"\"\n  city: String!\n\n  \"\"\"\n  Country.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  Country code.\n  \"\"\"\n  countryCode: CountryCode!\n\n  \"\"\"\n  Latitude.\n  \"\"\"\n  latitude: Float!\n\n  \"\"\"\n  Longitude.\n  \"\"\"\n  longitude: Float!\n\n  \"\"\"\n  Phone number.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  Province.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  Province code.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  Zip code.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA third-party location where customers can collect their orders, such as a local\npost office, convenience store, or self-service locker.\n\"\"\"\ninput PickupPoint {\n  \"\"\"\n  The address of the pickup point's location.\n  \"\"\"\n  address: PickupAddress!\n\n  \"\"\"\n  A list of operating hours for the pickup point. A day that's omitted or\n  doesn't have defined time periods is considered to be closed.\n  \"\"\"\n  businessHours: [BusinessHours!]\n\n  \"\"\"\n  The unique ID that the third-party service has assigned to the pickup point.\n  \"\"\"\n  externalId: String!\n\n  \"\"\"\n  The name that the third-party service has assigned to the pickup point.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The third-party service that manages pickup point delivery options.\n  \"\"\"\n  provider: Provider!\n}\n\n\"\"\"\nA pickup point delivery option, such as a local post office, convenience store, or self-service locker.\n\"\"\"\ninput PickupPointDeliveryOption {\n  \"\"\"\n  The delivery option's cost in the cart's currency. If not provided, then the\n  system uses the default price from the location's pickup points settings.\n  \"\"\"\n  cost: Decimal\n\n  \"\"\"\n  The metafields associated with the pickup point delivery option.\n  \"\"\"\n  metafields: [MetafieldOutput!] = []\n\n  \"\"\"\n  The [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points) where customers can collect their online orders rather than having them\n  delivered to their home or to a [local pickup point](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store).\n  Examples of pickup points include local post offices, convenience stores, and\n  self-service lockers.\n  \"\"\"\n  pickupPoint: PickupPoint!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe third-party service that manages the pickup point delivery options.\n\"\"\"\ninput Provider {\n  \"\"\"\n  The URL logo for the third-party service that manages the pickup point\n  delivery options. The base URL must be `https://cdn.shopify.com`.\n  \"\"\"\n  logoUrl: URL!\n\n  \"\"\"\n  The name of the third-party service that manages the pickup point delivery options.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nThe day of the week.\n\"\"\"\nenum Weekday {\n  \"\"\"\n  Friday\n  \"\"\"\n  FRIDAY\n\n  \"\"\"\n  Monday\n  \"\"\"\n  MONDAY\n\n  \"\"\"\n  Saturday\n  \"\"\"\n  SATURDAY\n\n  \"\"\"\n  Sunday\n  \"\"\"\n  SUNDAY\n\n  \"\"\"\n  Thursday\n  \"\"\"\n  THURSDAY\n\n  \"\"\"\n  Tuesday\n  \"\"\"\n  TUESDAY\n\n  \"\"\"\n  Wednesday\n  \"\"\"\n  WEDNESDAY\n}\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/rust/pickup-point-delivery-option-generators/default/shopify.extension.toml.liquid",
    "content": "api_version = \"unstable\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\ndescription = \"t:description\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\n\n[[extensions.targeting]]\ntarget = \"purchase.pickup-point-delivery-option-generator.fetch\"\ninput_query = \"src/fetch.graphql\"\nexport = \"fetch\"\n\n[[extensions.targeting]]\ntarget = \"purchase.pickup-point-delivery-option-generator.run\"\ninput_query = \"src/run.graphql\"\nexport = \"run\"\n\n[extensions.build]\ncommand = \"cargo build --target=wasm32-wasip1 --release\"\npath = \"target/wasm32-wasip1/release/{{handle | replace: \" \", \"_\" | downcase}}.wasm\"\nwatch = [\"src/**/*.rs\"]\n\n[extensions.ui.paths]\ncreate = \"/\"\ndetails = \"/\"\n"
  },
  {
    "path": "order-routing/rust/pickup-point-delivery-option-generators/default/src/fetch.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\n#[shopify_function_target(query_path = \"src/fetch.graphql\", schema_path = \"schema.graphql\")]\nfn fetch(input: fetch::input::ResponseData) -> Result<fetch::output::FunctionFetchResult> {\n    let delivery_address = &input.delivery_address;\n    if let (Some(country_code), Some(longitude), Some(latitude)) = (\n        &delivery_address.country_code,\n        &delivery_address.longitude,\n        &delivery_address.latitude,\n    ) {\n        if country_code.as_str() == \"CA\" {\n            return Ok(fetch::output::FunctionFetchResult {\n                request: Some(build_external_api_request(latitude, longitude)),\n            });\n        }\n    }\n\n    Ok(fetch::output::FunctionFetchResult { request: None })\n}\n\nfn build_external_api_request(latitude: &f64, longitude: &f64) -> fetch::output::HttpRequest {\n    // The latitude and longitude parameters are included in the URL for demonstration purposes only. They do not influence the result.\n    let url = format!(\n        \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/pickup-points-external-api-v2.json?v=1714588690&lat={}&lon={}\",\n        latitude, longitude\n    );\n\n    fetch::output::HttpRequest {\n        method: fetch::output::HttpRequestMethod::GET,\n        url,\n        headers: vec![fetch::output::HttpRequestHeader {\n            name: \"Accept\".to_string(),\n            value: \"application/json; charset=utf-8\".to_string(),\n        }],\n        body: None,\n        json_body: None,\n        policy: fetch::output::HttpRequestPolicy {\n            read_timeout_ms: 500,\n        },\n    }\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_fetch_returns_request_when_country_is_canada() -> Result<()> {\n        use fetch::output::*;\n\n        let result = run_function_with_input(\n            fetch,\n            r#\"\n                {\n                    \"deliveryAddress\": {\n                        \"countryCode\": \"CA\",\n                        \"longitude\": 43.70,\n                        \"latitude\": -79.42\n                    }\n                }\n            \"#,\n        )?;\n\n        let expected = FunctionFetchResult {\n            request: Some(HttpRequest {\n                method: HttpRequestMethod::GET,\n                url: \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/pickup-points-external-api-v2.json?v=1714588690&lat=-79.42&lon=43.7\".to_string(),\n\n                headers: vec![\n                    HttpRequestHeader {\n                        name: \"Accept\".to_string(),\n                        value: \"application/json; charset=utf-8\".to_string(),\n                    },\n                ],\n                body: None,\n                json_body: None,\n                policy: HttpRequestPolicy {\n                    read_timeout_ms: 500,\n                },\n            }),\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n\n    #[test]\n    fn test_fetch_returns_no_request_when_country_is_not_canada() -> Result<()> {\n        let result = run_function_with_input(\n            fetch,\n            r#\"\n                {\n                    \"deliveryAddress\": {\n                        \"countryCode\": \"US\",\n                        \"longitude\": 40.71,\n                        \"latitude\": -74.01\n                    }\n                }\n            \"#,\n        )?;\n\n        assert!(result.request.is_none());\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "order-routing/rust/pickup-point-delivery-option-generators/default/src/main.rs",
    "content": "use std::process;\npub mod fetch;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "order-routing/rust/pickup-point-delivery-option-generators/default/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde_json::Value;\n\ntype TimeWithoutTimezone = String;\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: run::input::ResponseData) -> Result<run::output::FunctionRunResult> {\n    match input.fetch_result {\n        Some(run::input::InputFetchResult { status: 200, body }) => {\n            let external_api_data: Value = serde_json::from_str(&body.unwrap()).unwrap();\n            let external_api_delivery_points = &external_api_data[\"deliveryPoints\"]\n                .as_array()\n                .unwrap()\n                .clone();\n            let operations =\n                build_pickup_point_delivery_option_operations(external_api_delivery_points);\n            Ok(run::output::FunctionRunResult { operations })\n        }\n        _ => Ok(run::output::FunctionRunResult { operations: vec![] }),\n    }\n}\n\nfn build_pickup_point_delivery_option_operations(\n    external_api_delivery_points: &[Value],\n) -> Vec<run::output::Operation> {\n    external_api_delivery_points\n        .iter()\n        .filter_map(|external_api_delivery_point| {\n            build_pickup_point_delivery_option(external_api_delivery_point)\n        })\n        .map(|op| run::output::Operation { add: op })\n        .collect()\n}\n\nfn build_pickup_point_delivery_option(\n    external_api_delivery_point: &Value,\n) -> Option<run::output::PickupPointDeliveryOption> {\n    Some(run::output::PickupPointDeliveryOption {\n        cost: None,\n        pickup_point: run::output::PickupPoint {\n            external_id: external_api_delivery_point[\"pointId\"]\n                .as_str()\n                .unwrap()\n                .to_string(),\n            name: external_api_delivery_point[\"pointName\"]\n                .as_str()\n                .unwrap()\n                .to_string(),\n            provider: build_provider(),\n            address: build_address(external_api_delivery_point)?,\n            business_hours: build_business_hours(external_api_delivery_point),\n        },\n        metafields: Some(vec![]),\n    })\n}\n\nfn build_provider() -> run::output::Provider {\n    run::output::Provider {\n        name: \"Shopify Rust Demo\".to_string(),\n        logo_url: \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/shopify_icon_146101.png?v=1706120545\".to_string(),\n    }\n}\n\nfn build_address(external_api_delivery_point: &Value) -> Option<run::output::PickupAddress> {\n    let address = run::output::PickupAddress {\n        address1: format!(\n            \"{} {}\",\n            external_api_delivery_point[\"location\"][\"addressComponents\"][\"streetNumber\"]\n                .as_str()\n                .unwrap(),\n            external_api_delivery_point[\"location\"][\"addressComponents\"][\"route\"]\n                .as_str()\n                .unwrap()\n        ),\n        address2: None,\n        city: external_api_delivery_point[\"location\"][\"addressComponents\"][\"locality\"]\n            .as_str()\n            .unwrap()\n            .to_string(),\n        country: Some(\n            external_api_delivery_point[\"location\"][\"addressComponents\"][\"country\"]\n                .as_str()\n                .unwrap()\n                .to_string(),\n        ),\n        country_code: external_api_delivery_point[\"location\"][\"addressComponents\"][\"countryCode\"]\n            .as_str()\n            .unwrap()\n            .to_string(),\n        latitude: external_api_delivery_point[\"location\"][\"geometry\"][\"location\"][\"lat\"]\n            .as_f64()\n            .unwrap_or_default(),\n        longitude: external_api_delivery_point[\"location\"][\"geometry\"][\"location\"][\"lng\"]\n            .as_f64()\n            .unwrap_or_default(),\n        phone: None,\n        province: Some(\n            external_api_delivery_point[\"location\"][\"addressComponents\"][\"administrativeArea\"]\n                [\"name\"]\n                .as_str()\n                .unwrap()\n                .to_string(),\n        ),\n        province_code: Some(\n            external_api_delivery_point[\"location\"][\"addressComponents\"][\"administrativeArea\"]\n                [\"code\"]\n                .as_str()\n                .unwrap()\n                .to_string(),\n        ),\n        zip: Some(\n            external_api_delivery_point[\"location\"][\"addressComponents\"][\"postalCode\"]\n                .as_str()\n                .unwrap()\n                .to_string(),\n        ),\n    };\n    Some(address)\n}\n\n/// Transforms the opening hours of a delivery point into a vector of `BusinessHours` objects.\n/// Each day's opening hours are represented using a `BusinessHours` object as follows:\n/// \"Monday: 9:00 AM – 5:00 PM\" is transformed to {day: Monday, periods: [{opening_time: \"09:00:00\", closing_time: \"17:00:00\"}]}\n/// \"Tuesday: Closed\" is transformed to {day: Tuesday, periods: []}\nfn build_business_hours(\n    external_api_delivery_point: &Value,\n) -> Option<Vec<run::output::BusinessHours>> {\n    if external_api_delivery_point[\"openingHours\"].is_null() {\n        return None;\n    }\n\n    let business_hours = external_api_delivery_point[\"openingHours\"][\"weekdayText\"]\n        .as_array()\n        .unwrap()\n        .iter()\n        .map(|day| {\n            let day_parts: Vec<&str> = day.as_str().unwrap().split(\": \").collect();\n            let day_name = serde_json::from_str::<run::output::Weekday>(\n                format!(\"\\\"{}\\\"\", &day_parts[0].to_uppercase()).as_str(),\n            )\n            .unwrap();\n            if day_parts[1] == \"Closed\" {\n                run::output::BusinessHours {\n                    day: day_name,\n                    periods: vec![],\n                }\n            } else {\n                let opening_closing_times: Vec<&str> = day_parts[1].split(\" – \").collect();\n                run::output::BusinessHours {\n                    day: day_name,\n                    periods: vec![run::output::BusinessHoursPeriod {\n                        opening_time: format_time(opening_closing_times[0]),\n                        closing_time: format_time(opening_closing_times[1]),\n                    }],\n                }\n            }\n        })\n        .collect();\n\n    Some(business_hours)\n}\n\n/// Converts a time string from 12-hour to 24-hour format.\n/// Example: \"9:00 AM\" => \"09:00:00\", \"5:00 PM\" => \"17:00:00\"\nfn format_time(time: &str) -> TimeWithoutTimezone {\n    let time_parts: Vec<&str> = time.split_whitespace().collect();\n    let hour_min: Vec<&str> = time_parts[0].split(':').collect();\n    let hour: u32 = hour_min[0].parse().unwrap();\n    let min: &str = hour_min[1];\n    let period: &str = time_parts[1];\n\n    let hour_in_24_format = match period {\n        \"AM\" => {\n            if hour == 12 {\n                0\n            } else {\n                hour\n            }\n        }\n        \"PM\" => {\n            if hour == 12 {\n                hour\n            } else {\n                hour + 12\n            }\n        }\n        _ => hour,\n    };\n\n    format!(\"{:02}:{:02}:00\", hour_in_24_format, min)\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_result_has_pickup_point_delivery_options_when_receiving_fetch_result_for_successful_response(\n    ) -> Result<()> {\n        use run::output::*;\n        use serde_json::json;\n\n        let external_api_body = json!({\n            \"deliveryPoints\": [\n                {\n                    \"pointId\": \"001\",\n                    \"pointName\": \"Toronto Store\",\n                    \"location\": {\n                        \"addressComponents\": {\n                            \"streetNumber\": \"620\",\n                            \"route\": \"King St W\",\n                            \"locality\": \"Toronto\",\n                            \"administrativeArea\": {\n                                \"name\": \"Ontario\",\n                                \"code\": \"ON\"\n                            },\n                            \"postalCode\": \"M5V 1M6\",\n                            \"country\": \"Canada\",\n                            \"countryCode\": \"CA\"\n                        },\n                        \"geometry\": {\n                            \"location\": {\n                                \"lat\": 43.644664618786685,\n                                \"lng\": -79.40066267417106\n                            }\n                        }\n                    },\n                    \"openingHours\": {\n                        \"weekdayText\": [\n                            \"Monday: 9:00 AM – 9:00 PM\",\n                            \"Tuesday: 9:00 AM – 9:00 PM\",\n                            \"Wednesday: 9:00 AM – 9:00 PM\",\n                            \"Thursday: 9:00 AM – 9:00 PM\",\n                            \"Friday: 9:00 AM – 9:00 PM\",\n                            \"Saturday: 10:00 AM – 6:00 PM\",\n                            \"Sunday: Closed\"\n                        ]\n                    }\n                }\n            ]\n        });\n\n        let result = run_function_with_input(\n            run,\n            &json!({\n                \"fetchResult\": {\n                    \"status\": 200,\n                    \"body\": external_api_body.to_string()\n                }\n            })\n            .to_string(),\n        )?;\n\n        let expected = FunctionRunResult {\n            operations: vec![Operation {\n                add: PickupPointDeliveryOption {\n                    cost: None,\n                    pickup_point: PickupPoint {\n                        address: PickupAddress {\n                            address1: \"620 King St W\".to_string(),\n                            address2: None,\n                            city: \"Toronto\".to_string(),\n                            country: Some(\"Canada\".to_string()),\n                            country_code: \"CA\".to_string(),\n                            latitude: 43.644664618786685,\n                            longitude: -79.40066267417106,\n                            phone: None,\n                            province: Some(\"Ontario\".to_string()),\n                            province_code: Some(\"ON\".to_string()),\n                            zip: Some(\"M5V 1M6\".to_string()),\n                        },\n                        business_hours: Some(vec![\n                            BusinessHours {\n                                day: Weekday::MONDAY,\n                                periods: vec![BusinessHoursPeriod {\n                                    opening_time: \"09:00:00\".to_string(),\n                                    closing_time: \"21:00:00\".to_string(),\n                                }],\n                            },\n                            BusinessHours {\n                                day: Weekday::TUESDAY,\n                                periods: vec![BusinessHoursPeriod {\n                                    opening_time: \"09:00:00\".to_string(),\n                                    closing_time: \"21:00:00\".to_string(),\n                                }],\n                            },\n                            BusinessHours {\n                                day: Weekday::WEDNESDAY,\n                                periods: vec![BusinessHoursPeriod {\n                                    opening_time: \"09:00:00\".to_string(),\n                                    closing_time: \"21:00:00\".to_string(),\n                                }],\n                            },\n                            BusinessHours {\n                                day: Weekday::THURSDAY,\n                                periods: vec![BusinessHoursPeriod {\n                                    opening_time: \"09:00:00\".to_string(),\n                                    closing_time: \"21:00:00\".to_string(),\n                                }],\n                            },\n                            BusinessHours {\n                                day: Weekday::FRIDAY,\n                                periods: vec![BusinessHoursPeriod {\n                                    opening_time: \"09:00:00\".to_string(),\n                                    closing_time: \"21:00:00\".to_string(),\n                                }],\n                            },\n                            BusinessHours {\n                                day: Weekday::SATURDAY,\n                                periods: vec![BusinessHoursPeriod {\n                                    opening_time: \"10:00:00\".to_string(),\n                                    closing_time: \"18:00:00\".to_string(),\n                                }],\n                            },\n                            BusinessHours {\n                                day: Weekday::SUNDAY,\n                                periods: vec![],\n                            },\n                        ]),\n                        provider: Provider {\n                            name: \"Shopify Rust Demo\".to_string(),\n                            logo_url: \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/shopify_icon_146101.png?v=1706120545\".to_string(),\n                        },\n                        external_id: \"001\".to_string(),\n                        name: \"Toronto Store\".to_string(),\n                    },\n                    metafields: Some(vec![]),\n                },\n            }],\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n    #[test]\n    fn test_result_has_no_pickup_point_delivery_options_when_receiving_fetch_result_for_failed_response(\n    ) -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"fetchResult\": {\n                        \"status\": 500,\n                        \"body\": \"Server Error\"\n                    }\n                }\n            \"#,\n        )?;\n\n        let expected = FunctionRunResult { operations: vec![] };\n        assert_eq!(result, expected);\n        Ok(())\n    }\n\n    #[test]\n    fn test_result_has_pickup_point_delivery_option_with_null_business_hours_when_fetch_result_has_null_opening_hours(\n    ) -> Result<()> {\n        use run::output::*;\n        use serde_json::json;\n\n        let external_api_body = json!({\n            \"deliveryPoints\": [\n                {\n                    \"pointId\": \"001\",\n                    \"pointName\": \"Toronto Store\",\n                    \"location\": {\n                        \"addressComponents\": {\n                            \"streetNumber\": \"620\",\n                            \"route\": \"King St W\",\n                            \"locality\": \"Toronto\",\n                            \"administrativeArea\": {\n                                \"name\": \"Ontario\",\n                                \"code\": \"ON\"\n                            },\n                            \"postalCode\": \"M5V 1M6\",\n                            \"country\": \"Canada\",\n                            \"countryCode\": \"CA\"\n                        },\n                        \"geometry\": {\n                            \"location\": {\n                                \"lat\": 43.644664618786685,\n                                \"lng\": -79.40066267417106\n                            }\n                        }\n                    },\n                    \"openingHours\": null\n                }\n            ]\n        });\n\n        let result = run_function_with_input(\n            run,\n            &json!({\n                \"fetchResult\": {\n                    \"status\": 200,\n                    \"body\": external_api_body.to_string()\n                }\n            })\n            .to_string(),\n        )?;\n\n        let expected = FunctionRunResult {\n            operations: vec![Operation {\n                add: PickupPointDeliveryOption {\n                    cost: None,\n                    pickup_point: PickupPoint {\n                        address: PickupAddress {\n                            address1: \"620 King St W\".to_string(),\n                            address2: None,\n                            city: \"Toronto\".to_string(),\n                            country: Some(\"Canada\".to_string()),\n                            country_code: \"CA\".to_string(),\n                            latitude: 43.644664618786685,\n                            longitude: -79.40066267417106,\n                            phone: None,\n                            province: Some(\"Ontario\".to_string()),\n                            province_code: Some(\"ON\".to_string()),\n                            zip: Some(\"M5V 1M6\".to_string()),\n                        },\n                        business_hours: None,\n                        provider: Provider {\n                            name: \"Shopify Rust Demo\".to_string(),\n                            logo_url: \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/shopify_icon_146101.png?v=1706120545\".to_string(),\n                        },\n                        external_id: \"001\".to_string(),\n                        name: \"Toronto Store\".to_string(),\n                    },\n                    metafields: Some(vec![]),\n                },\n            }],\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "order-routing/typescript/pickup-point-delivery-option-generators/default/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "order-routing/typescript/pickup-point-delivery-option-generators/default/README.md",
    "content": "# Pickup point delivery option generators demo\n\nThis repository contains a function that demonstrates how to generate pickup point delivery options based on an external\nAPI accessible via an HTTP request. To simulate an external API, we have hosted a\n[JSON file](https://cdn.shopify.com/s/files/1/0628/3830/9033/files/pickup-points-external-api-v2.json?v=1714588690),\nwhich contains pickup point information in the following format:\n\n```json\n{\n  \"deliveryPoints\": [\n    {\n      \"pointId\": \"001\",\n      \"pointName\": \"Toronto Store\",\n      \"location\": {\n        \"addressComponents\": {\n          \"streetNumber\": \"620\",\n          \"route\": \"King St W\",\n          \"locality\": \"Toronto\",\n          \"administrativeArea\": {\n            \"name\": \"Ontario\",\n            \"code\": \"ON\"\n          },\n          \"postalCode\": \"M5V 1M6\",\n          \"country\": \"Canada\",\n          \"countryCode\": \"CA\"\n        },\n        \"geometry\": {\n          \"location\": {\n            \"lat\": 43.644664618786685,\n            \"lng\": -79.40066267417106\n          }\n        }\n      },\n      \"openingHours\": {\n        \"weekdayText\": [\n          \"Monday: 9:00 AM – 9:00 PM\",\n          \"Tuesday: 9:00 AM – 9:00 PM\",\n          \"Wednesday: 9:00 AM – 9:00 PM\",\n          \"Thursday: 9:00 AM – 9:00 PM\",\n          \"Friday: 9:00 AM – 9:00 PM\",\n          \"Saturday: 10:00 AM – 6:00 PM\",\n          \"Sunday: Closed\"\n        ]\n      }\n    }\n  ]\n}\n```\n\n## Implementation details\n\nA function can have one or more targets, each characterized by a specific input/output API. The Pickup Point Delivery\nOption Generators have two targets: an optional **fetch** target and a **run** target. The input/output APIs are\nrepresented as a GraphQL API within the attached [schema](./schema.graphql).\n\n### Fetch target\n\nThe **fetch** target is responsible for generating an HTTP request to call the external API. Its input API is defined\nby the `Input` type in the [schema](./schema.graphql). In our demo, we are only interested in the delivery address\ncountry and latitude-longitude coordinates, which we specify within the [**fetch** target input query](./src/fetch.graphql).\n\nThe [**fetch** target](./src/fetch.ts) reads the input and generates an output representing an HTTP request to the\nexternal API if the address country is Canada. The output API is defined by the `FunctionFetchResult` type in\nthe [schema](./schema.graphql).\n\n#### Fetch target input/output example\n\n##### Input\n\n```json\n{\n  \"deliveryAddress\": {\n    \"countryCode\": \"CA\",\n    \"longitude\": 43.70,\n    \"latitude\": -79.42\n  }\n}\n```\n\n##### Output\n\n```json\n{\n  \"request\": {\n    \"method\": \"GET\",\n    \"url\": \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/pickup-points-external-api-v2.json?v=1714588690&lat=-79.42&lon=43.7\",\n    \"headers\": [\n      {\n        \"name\": \"Accept\",\n        \"value\": \"application/json; charset=utf-8\"\n      }\n    ],\n    \"body\": null,\n    \"policy\": {\n      \"read_timeout_ms\": 500\n    }\n  }\n}\n```\n\n### Run target\n\nThe **run** target is responsible for generating the pickup point delivery options. Its input API is defined by\nthe `Input` type in the [schema](./schema.graphql). In our demo, we are only interested in the external API HTTP\nresponse status and body, which we specify within the [**run** target input query](./src/run.graphql).\n\nThe [**run** target](./src/run.ts) parses the response body and produces the pickup point data in the format\nspecified by the `FunctionRunResult` type in the [schema](./schema.graphql).\n\n#### Run target input/output example\n\n##### Input\n\n```json\n{\n  \"fetchResult\": {\n    \"status\": 200,\n    \"body\": \"{\\\"deliveryPoints\\\":[{\\\"pointId\\\":\\\"001\\\",\\\"pointName\\\":\\\"Toronto Store\\\",\\\"location\\\":{\\\"addressComponents\\\":{\\\"streetNumber\\\":\\\"620\\\",\\\"route\\\":\\\"King St W\\\",\\\"locality\\\":\\\"Toronto\\\",\\\"administrativeArea\\\":{\\\"name\\\":\\\"Ontario\\\",\\\"code\\\":\\\"ON\\\"},\\\"postalCode\\\":\\\"M5V 1M6\\\",\\\"country\\\":\\\"Canada\\\",\\\"countryCode\\\":\\\"CA\\\"},\\\"geometry\\\":{\\\"location\\\":{\\\"lat\\\":43.644664618786685,\\\"lng\\\":-79.40066267417106}}},\\\"openingHours\\\":{\\\"weekdayText\\\":[\\\"Monday: 9:00 AM – 9:00 PM\\\",\\\"Tuesday: 9:00 AM – 9:00 PM\\\",\\\"Wednesday: 9:00 AM – 9:00 PM\\\",\\\"Thursday: 9:00 AM – 9:00 PM\\\",\\\"Friday: 9:00 AM – 9:00 PM\\\",\\\"Saturday: 10:00 AM – 6:00 PM\\\",\\\"Sunday: Closed\\\"]}}]}\"\n  }\n}\n```\n\n##### Output\n\n```json\n{\n  \"operations\": [\n    {\n      \"add\": {\n        \"cost\": null,\n        \"pickup_point\": {\n          \"external_id\": \"001\",\n          \"name\": \"Toronto Store\",\n          \"provider\": {\n            \"name\": \"Shopify Demo\",\n            \"logo_url\": \"https://cdn.shopify.com/s/files/1/0628/3830/9033/files/shopify_icon_146101.png?v=1706120545\"\n          },\n          \"address\": {\n            \"address1\": \"620 King St W\",\n            \"address2\": null,\n            \"city\": \"Toronto\",\n            \"country\": \"Canada\",\n            \"country_code\": \"CA\",\n            \"latitude\": 43.644664618786685,\n            \"longitude\": -79.40066267417106,\n            \"phone\": null,\n            \"province\": \"Ontario\",\n            \"province_code\": \"ON\",\n            \"zip\": \"M5V 1M6\"\n          },\n          \"business_hours\": [\n            {\n              \"day\": \"MONDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"TUESDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"WEDNESDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"THURSDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"FRIDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"09:00:00\",\n                  \"closing_time\": \"21:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"SATURDAY\",\n              \"periods\": [\n                {\n                  \"opening_time\": \"10:00:00\",\n                  \"closing_time\": \"18:00:00\"\n                }\n              ]\n            },\n            {\n              \"day\": \"SUNDAY\",\n              \"periods\": []\n            }\n          ]\n        }\n      }\n    }\n  ]\n}\n```\n\n## Usage\n\n### Installing dependencies\n\n1. Install the necessary dependencies by running the following command in your terminal:\n\n```bash\nyarn install\n```\n\n### Generating types\n\n1. Generate the function input/output API TypeScript types by running the following command in your terminal:\n\n```bash\nyarn shopify app function typegen\n```\n\n### Running tests\n\n1. Execute the tests by running the following command in your terminal:\n\n```bash\nyarn test\n```\n\n### Deploying the function to the app\n\n1. Navigate to the root directory of your app. Deploy the function by running the following command\nin your terminal:\n\n```bash\nyarn deploy\n```\n\n### Using the function in a store\n\n1. To activate the function, navigate to the specific location pickups points settings within the store admin.\nNavigate to: `Settings > Shipping and delivery > Shipping to pickup points > (pick a location) > Pickup point rates > Edit rate`.\nHere, select the function and click on 'Done', then 'Save'.\n\n2. To use the function, initiate a checkout process with a product available from the configured location.\nChoose 'Ship to Pickup Point' under the 'Delivery Method' section. Enter an address in Canada and click on 'Search'.\nA list of pickup points generated using this function should now be visible.\n"
  },
  {
    "path": "order-routing/typescript/pickup-point-delivery-option-generators/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "order-routing/typescript/pickup-point-delivery-option-generators/default/package.json.liquid",
    "content": "{\n  \"name\": \"{{handle}}\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"~1.0.0\"\n  }\n}\n"
  },
  {
    "path": "order-routing/typescript/pickup-point-delivery-option-generators/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nInformation about the allocation for one or more line items that are to be delivered to a specific address.\n\"\"\"\ntype Allocation {\n  \"\"\"\n  The delivery address for the allocation.\n  \"\"\"\n  deliveryAddress: MailingAddress!\n}\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe pickup point's hours of operation for a specific day of the week.\n\"\"\"\ninput BusinessHours {\n  \"\"\"\n  The day of the week.\n  \"\"\"\n  day: Weekday!\n\n  \"\"\"\n  The operating time periods for a specific day. To represent split schedules\n  (for example, 9:00-12:00 and 13:00-17:00 for locations that close during\n  lunch), you can specify multiple periods.\n\n  Each period consists of `opening_time` and `closing_time`. To indicate the\n  location is closed on a specific day, such as Sunday, then omit it entirely\n  from the `business_hours` array.\n  \"\"\"\n  periods: [BusinessHoursPeriod!]!\n}\n\n\"\"\"\nThe pickup point's hours of operation for a specific day of the week.\n\"\"\"\ninput BusinessHoursPeriod {\n  \"\"\"\n  The time that the pickup point location closes.\n  \"\"\"\n  closingTime: TimeWithoutTimezone!\n\n  \"\"\"\n  The time that the pickup point location opens.\n  \"\"\"\n  openingTime: TimeWithoutTimezone!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart implements HasMetafields {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The physical location where a retail order is created or completed.\n  \"\"\"\n  retailLocation: Location\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  The type of merchandise in the delivery group.\n  \"\"\"\n  groupType: CartDeliveryGroupType!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nDefines what type of merchandise is in the delivery group.\n\"\"\"\nenum CartDeliveryGroupType {\n  \"\"\"\n  The delivery group only contains merchandise that is either a one time purchase or a first delivery of\n  subscription merchandise.\n  \"\"\"\n  ONE_TIME_PURCHASE\n\n  \"\"\"\n  The delivery group only contains subscription merchandise.\n  \"\"\"\n  SUBSCRIPTION\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe fetch target result. Your Function must return this data structure when generating the request.\n\"\"\"\ninput FunctionFetchResult {\n  \"\"\"\n  The attributes associated with an HTTP request.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to\ngenerate pickup point delivery options at checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  An ordered list of operations to apply to generate pickup point delivery options.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request.\n\"\"\"\ninput HttpRequest {\n  \"\"\"\n  The HTTP request body as a plain string.\n  Use this field when the body isn't in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpRequestHeader!]!\n\n  \"\"\"\n  The HTTP request body as a JSON object.\n  Use this field when the body's in JSON format, to reduce function instruction consumption\n  and to ensure the body's formatted in logs.\n  Don't use this field together with the `body` field. If both are provided, then the `body` field\n  will take precedence.\n  If this field is specified and no `Content-Type` header is included, then the header will\n  automatically be set to `application/json`.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP method.\n  \"\"\"\n  method: HttpRequestMethod!\n\n  \"\"\"\n  Policy attached to the HTTP request.\n  \"\"\"\n  policy: HttpRequestPolicy!\n\n  \"\"\"\n  The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.\n  \"\"\"\n  url: URL!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request header.\n\"\"\"\ninput HttpRequestHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nThe HTTP request available methods.\n\"\"\"\nenum HttpRequestMethod {\n  \"\"\"\n  Http GET.\n  \"\"\"\n  GET\n\n  \"\"\"\n  Http POST.\n  \"\"\"\n  POST\n}\n\n\"\"\"\nThe attributes associated with an HTTP request policy.\n\"\"\"\ninput HttpRequestPolicy {\n  \"\"\"\n  Read timeout in milliseconds.\n  \"\"\"\n  readTimeoutMs: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response.\n\"\"\"\ntype HttpResponse {\n  \"\"\"\n  The HTTP response body as a plain string.\n  Use this field when the body is not in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  An HTTP header.\n  \"\"\"\n  header(\n    \"\"\"\n    A case-insensitive header name.\n    \"\"\"\n    name: String!\n  ): HttpResponseHeader\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpResponseHeader!]! @deprecated(reason: \"Use `header` instead.\")\n\n  \"\"\"\n  The HTTP response body parsed as JSON. \n  If the body is valid JSON, it will be parsed and returned as a JSON object. \n  If parsing fails, then raw body is returned as a string. \n  Use this field when you expect the response to be JSON, or when you're dealing\n  with mixed response types, meaning both JSON and non-JSON.\n  Using this field reduces function instruction consumption and ensures that the data is formatted in logs.\n  To prevent increasing the function target input size unnecessarily, avoid querying\n  both `body` and `jsonBody` simultaneously.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP status code.\n  \"\"\"\n  status: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response header.\n\"\"\"\ntype HttpResponseHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  A list of one or more line items that are to be delivered to a specific address.\n  \"\"\"\n  allocations: [Allocation!]! @deprecated(reason: \"Use `deliveryAddress` instead.\")\n\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The delivery address for the pickup point delivery option.\n  \"\"\"\n  deliveryAddress: MailingAddress!\n\n  \"\"\"\n  The fetch target result. Your Function must return this data structure when generating the request.\n  \"\"\"\n  fetchResult: HttpResponse @restrictTarget(only: [\"purchase.pickup-point-delivery-option-generator.run\"])\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nLocal pickup settings associated with a location.\n\"\"\"\ntype LocalPickup {\n  \"\"\"\n  Whether local pickup is enabled for the location.\n  \"\"\"\n  enabled: Boolean!\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Local pickup settings associated with a location.\n  \"\"\"\n  localPickup: LocalPickup!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ninput MetafieldOutput {\n  \"\"\"\n  The unique identifier for the metafield within its namespace. A metafield is composed of a\n  namespace and a key, in the format `namespace.key`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n  between different apps or different parts of the same app. If omitted, then the\n  [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n  is used.\n  \"\"\"\n  namespace: String\n\n  \"\"\"\n  The [type of data](https://shopify.dev/docs/apps/build/custom-data/metafields/list-of-data-types)\n  that's stored in the metafield.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data to store in the metafield.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the purchase.pickup-point-delivery-option-generator.fetch target.\n  \"\"\"\n  fetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the purchase.pickup-point-delivery-option-generator.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn ordered list of operations to generate pickup point delivery options.\n\"\"\"\ninput Operation {\n  \"\"\"\n  The pickup point delivery option to add.\n  \"\"\"\n  add: PickupPointDeliveryOption!\n}\n\n\"\"\"\nComprehensive geographic location information for a physical pickup point. [A pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points)\nis a location where customers can collect their online orders rather than having\nthem delivered to their home or a to a [local pickup point](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store).\nExamples of pickup points include local post offices, convenience stores, and\nself-service lockers.\n\nThis object stores both standard address fields and precise geolocation\ncoordinates for generating pickup points and associated data, such as a\nlocation's distance from the customer.\n\"\"\"\ninput PickupAddress {\n  \"\"\"\n  Address line 1.\n  \"\"\"\n  address1: String!\n\n  \"\"\"\n  Address line 2.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  City.\n  \"\"\"\n  city: String!\n\n  \"\"\"\n  Country.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  Country code.\n  \"\"\"\n  countryCode: CountryCode!\n\n  \"\"\"\n  Latitude.\n  \"\"\"\n  latitude: Float!\n\n  \"\"\"\n  Longitude.\n  \"\"\"\n  longitude: Float!\n\n  \"\"\"\n  Phone number.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  Province.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  Province code.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  Zip code.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA third-party location where customers can collect their orders, such as a local\npost office, convenience store, or self-service locker.\n\"\"\"\ninput PickupPoint {\n  \"\"\"\n  The address of the pickup point's location.\n  \"\"\"\n  address: PickupAddress!\n\n  \"\"\"\n  A list of operating hours for the pickup point. A day that's omitted or\n  doesn't have defined time periods is considered to be closed.\n  \"\"\"\n  businessHours: [BusinessHours!]\n\n  \"\"\"\n  The unique ID that the third-party service has assigned to the pickup point.\n  \"\"\"\n  externalId: String!\n\n  \"\"\"\n  The name that the third-party service has assigned to the pickup point.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The third-party service that manages pickup point delivery options.\n  \"\"\"\n  provider: Provider!\n}\n\n\"\"\"\nA pickup point delivery option, such as a local post office, convenience store, or self-service locker.\n\"\"\"\ninput PickupPointDeliveryOption {\n  \"\"\"\n  The delivery option's cost in the cart's currency. If not provided, then the\n  system uses the default price from the location's pickup points settings.\n  \"\"\"\n  cost: Decimal\n\n  \"\"\"\n  The metafields associated with the pickup point delivery option.\n  \"\"\"\n  metafields: [MetafieldOutput!] = []\n\n  \"\"\"\n  The [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points) where customers can collect their online orders rather than having them\n  delivered to their home or to a [local pickup point](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store).\n  Examples of pickup points include local post offices, convenience stores, and\n  self-service lockers.\n  \"\"\"\n  pickupPoint: PickupPoint!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe third-party service that manages the pickup point delivery options.\n\"\"\"\ninput Provider {\n  \"\"\"\n  The URL logo for the third-party service that manages the pickup point\n  delivery options. The base URL must be `https://cdn.shopify.com`.\n  \"\"\"\n  logoUrl: URL!\n\n  \"\"\"\n  The name of the third-party service that manages the pickup point delivery options.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nThe day of the week.\n\"\"\"\nenum Weekday {\n  \"\"\"\n  Friday\n  \"\"\"\n  FRIDAY\n\n  \"\"\"\n  Monday\n  \"\"\"\n  MONDAY\n\n  \"\"\"\n  Saturday\n  \"\"\"\n  SATURDAY\n\n  \"\"\"\n  Sunday\n  \"\"\"\n  SUNDAY\n\n  \"\"\"\n  Thursday\n  \"\"\"\n  THURSDAY\n\n  \"\"\"\n  Tuesday\n  \"\"\"\n  TUESDAY\n\n  \"\"\"\n  Wednesday\n  \"\"\"\n  WEDNESDAY\n}\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/typescript/pickup-point-delivery-option-generators/default/shopify.extension.toml.liquid",
    "content": "api_version = \"unstable\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\ndescription = \"t:description\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\n\n  [[extensions.targeting]]\n  target = \"purchase.pickup-point-delivery-option-generator.fetch\"\n  input_query = \"src/fetch.graphql\"\n  export = \"fetch\"\n\n  [[extensions.targeting]]\n  target = \"purchase.pickup-point-delivery-option-generator.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/typescript/pickup-point-delivery-option-generators/default/vite.config.js",
    "content": "// Prevents inheritance from parent Remix project\n"
  },
  {
    "path": "order-routing/wasm/fulfillment-constraints/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "order-routing/wasm/fulfillment-constraints/default/run.graphql.liquid",
    "content": "query Input {\n  cart {\n    deliverableLines {\n      id\n    }\n  }\n  fulfillmentConstraintRule {\n    metafield(namespace: \"$app:fulfillment-constraints\", key: \"function-configuration\") {\n      value\n    }\n  }\n}"
  },
  {
    "path": "order-routing/wasm/fulfillment-constraints/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA customization which applies constraint rules to order routing and fulfillments.\n\"\"\"\ntype FulfillmentConstraintRule implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply constraints for fulfilling orders.\nIn API versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply when\n  [fulfilling orders](https://help.shopify.com/manual/fulfillment/fulfilling-orders).\n  You can either specify a list of locations where cart items can be fulfilled from,\n  or specify that cart items must be fulfilled from the same location.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply constraints for fulfilling orders.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply when\n  [fulfilling orders](https://help.shopify.com/manual/fulfillment/fulfilling-orders).\n  You can either specify a list of locations where cart items can be fulfilled from,\n  or specify that cart items must be fulfilled from the same location.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function uses to determine how to\n  [fulfill orders](https://help.shopify.com/manual/fulfillment/fulfilling-orders). It includes the\n  [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  fulfillmentConstraintRule: FulfillmentConstraintRule!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  A list of all geographical locations where the inventory is stored,\n  including warehouses, retail locations, and distribution centers.\n  \"\"\"\n  locations(\n    \"\"\"\n    A list of [globally-unique identifiers](https://shopify.dev/docs/api/usage/gids)\n    for the locations where inventory resides.\n    \"\"\"\n    identifiers: [String!]\n\n    \"\"\"\n    A list of location names where the inventory resides.\n    \"\"\"\n    names: [String!]\n  ): [Location!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nForce a set of items to be fulfilled from a specified location.\nIf the cart item isn't stocked at the specified location, then checkout won't return any shipping rates and\ncompleting checkout will be blocked.\n\"\"\"\ninput MustFulfillFrom {\n  \"\"\"\n  The IDs of the deliverable lines for which the constraint is applied.\n  \"\"\"\n  deliverableLineIds: [ID!]\n\n  \"\"\"\n  The IDs of the locations for which the cart lines must fulfill from.\n  \"\"\"\n  locationIds: [ID!]!\n}\n\n\"\"\"\nForce a set of items to be fulfilled from the same location.\nIf the cart items with constraints aren't stocked at the same location,\nthen checkout won't return any shipping rates and completing checkout will be blocked.\n\"\"\"\ninput MustFulfillFromSameLocation {\n  \"\"\"\n  The IDs of the deliverable lines for which the constraint is applied.\n  \"\"\"\n  deliverableLineIds: [ID!]\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.fulfillment-constraint-rule.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply fulfillment constraints.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  Force a set of items to be fulfilled from a specified location.\n  If the cart item isn't stocked at the specified location, then checkout won't return any shipping rates and\n  completing checkout will be blocked.\n  \"\"\"\n  mustFulfillFrom: MustFulfillFrom\n\n  \"\"\"\n  Force a set of items to be fulfilled from the same location.\n  If the cart items with constraints aren't stocked at the same location,\n  then checkout won't return any shipping rates and completing checkout will be blocked.\n  \"\"\"\n  mustFulfillFromSameLocation: MustFulfillFromSameLocation\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/wasm/fulfillment-constraints/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.fulfillment-constraint-rule.run\"\n  input_query = \"run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/wasm/local-pickup-delivery-option-generators/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "order-routing/wasm/local-pickup-delivery-option-generators/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart implements HasMetafields {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The physical location where a retail order is created or completed.\n  \"\"\"\n  retailLocation: Location\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  The type of merchandise in the delivery group.\n  \"\"\"\n  groupType: CartDeliveryGroupType!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nDefines what type of merchandise is in the delivery group.\n\"\"\"\nenum CartDeliveryGroupType {\n  \"\"\"\n  The delivery group only contains merchandise that is either a one time purchase or a first delivery of\n  subscription merchandise.\n  \"\"\"\n  ONE_TIME_PURCHASE\n\n  \"\"\"\n  The delivery group only contains subscription merchandise.\n  \"\"\"\n  SUBSCRIPTION\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA customization representing how delivery options are generated.\n\"\"\"\ntype DeliveryOptionGenerator implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA group of one or more items to be fulfilled together. Every cart line belongs to\nexactly one fulfillment group.\n\"\"\"\ntype FulfillmentGroup {\n  \"\"\"\n  The delivery group for the fulfillment group. Contains information about\n  the destination address and which delivery options were available for this\n  set of cart lines.\n  \"\"\"\n  deliveryGroup: CartDeliveryGroup!\n\n  \"\"\"\n  The fulfillment group handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The ID of the fulfillment group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The list of inventory location handles for the fulfillment group.\n  These are the locations that stock the items, and can be used to fulfill\n  this particular group of items.\n  \"\"\"\n  inventoryLocationHandles: [Handle!]!\n\n  \"\"\"\n  The merchandise in the fulfillment group. A subset of cart lines.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to generate local pickup options in checkout.\nIn API versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply when generating\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store)\n  options.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to generate local pickup options in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply when generating\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store)\n  options.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function uses to generate\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store)\n  options. It includes the [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  deliveryOptionGenerator: DeliveryOptionGenerator!\n\n  \"\"\"\n  A list of\n  [fulfillment locations](https://shopify.dev/manual/fulfillment/setup/shipping-profiles/managing-fulfillment-locations)\n  that contain one or more items to be shipped together. Each item in the cart is assigned to one\n  fulfillment group.\n  \"\"\"\n  fulfillmentGroups: [FulfillmentGroup!]!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  A list of all geographical locations where the inventory is stored,\n  including warehouses, retail locations, and distribution centers.\n  The list captures the locations that can fulfill items in the cart or that offer local pickup.\n  \"\"\"\n  locations: [Location!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nLocal pickup settings associated with a location.\n\"\"\"\ntype LocalPickup {\n  \"\"\"\n  Whether local pickup is enabled for the location.\n  \"\"\"\n  enabled: Boolean!\n}\n\n\"\"\"\nA local pickup delivery option, which will be presented to the customer.\n\"\"\"\ninput LocalPickupDeliveryOption {\n  \"\"\"\n  The cost of the delivery option in the currency of the cart. Defaults to zero.\n  \"\"\"\n  cost: Decimal\n\n  \"\"\"\n  Metafields associated with the delivery option.\n  \"\"\"\n  metafields: [MetafieldOutput!] = []\n\n  \"\"\"\n  The pickup location.\n  \"\"\"\n  pickupLocation: PickupLocation!\n\n  \"\"\"\n  The title of the delivery option. Defaults to pickup location's name.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Local pickup settings associated with a location.\n  \"\"\"\n  localPickup: LocalPickup!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ninput MetafieldOutput {\n  \"\"\"\n  The unique identifier for the metafield within its namespace. A metafield is composed of a\n  namespace and a key, in the format `namespace.key`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n  between different apps or different parts of the same app. If omitted, then the\n  [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n  is used.\n  \"\"\"\n  namespace: String\n\n  \"\"\"\n  The [type of data](https://shopify.dev/docs/apps/build/custom-data/metafields/list-of-data-types)\n  that's stored in the metafield.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data to store in the metafield.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.local-pickup-delivery-option-generator.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to generate local pickup delivery options.\n\"\"\"\ninput Operation {\n  \"\"\"\n  The local pickup delivery option to add.\n  \"\"\"\n  add: LocalPickupDeliveryOption!\n}\n\ninput PickupLocation {\n  \"\"\"\n  The location handle of the pickup in-store location.\n  \"\"\"\n  locationHandle: Handle!\n\n  \"\"\"\n  The pickup instruction to show to customers at checkout.\n  Defaults to location's local pickup expected pickup time setting.\n  \"\"\"\n  pickupInstruction: String\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/wasm/local-pickup-delivery-option-generators/default/shopify.extension.toml.liquid",
    "content": "api_version = \"unstable\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\ndescription = \"t:description\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\n\n  [[extensions.targeting]]\n  target = \"purchase.local-pickup-delivery-option-generator.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/wasm/local-pickup-delivery-option-generators/default/src/run.graphql.liquid",
    "content": "query Input {\n  cart {\n    lines {\n      id\n    }\n  }\n  fulfillmentGroups {\n    handle\n    inventoryLocationHandles\n    lines {\n      id\n    }\n    deliveryGroup {\n      id\n    }\n  }\n  locations {\n    handle\n    name\n    address {\n      address1\n    }\n  }\n  deliveryOptionGenerator {\n    metafield: metafield(namespace: \"$app:local-pickup-options-generator\", key: \"pickup-ids\") {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "order-routing/wasm/location-rules/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "order-routing/wasm/location-rules/default/run.graphql.liquid",
    "content": "query Input {\n  fulfillmentGroups {\n    handle\n    inventoryLocationHandles\n  }\n}\n"
  },
  {
    "path": "order-routing/wasm/location-rules/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA group of one or more items to be fulfilled together.\n\"\"\"\ntype FulfillmentGroup {\n  \"\"\"\n  The delivery address for the fulfillment group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery group for the fulfillment group.\n  \"\"\"\n  deliveryGroup: CartDeliveryGroup! @deprecated(reason: \"Use `deliveryAddress` instead.\")\n\n  \"\"\"\n  The fulfillment group handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The ID of the fulfillment group.\n  \"\"\"\n  id: ID! @deprecated(reason: \"Use `handle` instead.\")\n\n  \"\"\"\n  A list of inventory location handles for the fulfillment group.\n  \"\"\"\n  inventoryLocationHandles: [Handle!]!\n\n  \"\"\"\n  A list of lines containing information about the items that are part of the fulfillment group.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nA list of ranked locations for this fulfillment group.\n\"\"\"\ninput FulfillmentGroupRankedLocations {\n  \"\"\"\n  The identifier for the fulfillment group.\n  \"\"\"\n  fulfillmentGroupHandle: Handle!\n\n  \"\"\"\n  The ranked locations for this fulfillment group.\n  \"\"\"\n  rankings: [RankedLocation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations that rank locations for each fulfillment\ngroup. In API versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations that rank locations for each fulfillment group,\n  which includes one or more items to be shipped together.\n  The locations with the highest ranking are selected to fulfill the order.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations that rank locations for each fulfillment group.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations that rank locations for each fulfillment group,\n  which includes one or more items to be shipped together.\n  The locations with the highest ranking are selected to fulfill the order.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A list of\n  [fulfillment locations](https://shopify.dev/manual/fulfillment/setup/shipping-profiles/managing-fulfillment-locations)\n  that contain one or more items to be shipped together. Each item in the cart is assigned to one\n  fulfillment group.\n  \"\"\"\n  fulfillmentGroups: [FulfillmentGroup!]!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The backend logic that the Function uses to\n  [route orders](https://help.shopify.com/manual/fulfillment/setup/order-routing/understanding-order-routing).\n  It includes the [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  locationRule: OrderRoutingLocationRule!\n\n  \"\"\"\n  A list of all geographical locations where the inventory is stored,\n  including warehouses, retail locations, and distribution centers.\n  The list captures the locations that can fulfill items in the cart.\n  \"\"\"\n  locations: [Location!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.order-routing-location-rule.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the fulfillment group inventory locations.\n\"\"\"\ninput Operation {\n  \"\"\"\n  A request to rank the locations associated with a fulfillment group.\n  The ranking determines the priority in which the locations are selected to fulfill the order.\n  \"\"\"\n  rank: FulfillmentGroupRankedLocations!\n}\n\n\"\"\"\nA customization which ranks inventory locations for fulfillment purposes.\n\"\"\"\ntype OrderRoutingLocationRule implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nA location with a rank associated with it.\n\"\"\"\ninput RankedLocation {\n  \"\"\"\n  The location handle.\n  \"\"\"\n  locationHandle: Handle!\n\n  \"\"\"\n  The location's rank.\n  \"\"\"\n  rank: Int!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/wasm/location-rules/default/shopify.extension.toml.liquid",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.order-routing-location-rule.run\"\n  input_query = \"run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n  path = \"\"\n  watch = []\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "order-routing/wasm/pickup-point-delivery-option-generators/default/fetch.graphql.liquid",
    "content": "query Input {\n  deliveryAddress {\n    countryCode\n    longitude\n    latitude\n  }\n}\n"
  },
  {
    "path": "order-routing/wasm/pickup-point-delivery-option-generators/default/locales/en.default.json.liquid",
    "content": "{\n  \"name\": \"{{name}}\",\n  \"description\": \"{{name}}\"\n}\n"
  },
  {
    "path": "order-routing/wasm/pickup-point-delivery-option-generators/default/run.graphql.liquid",
    "content": "query Input {\n  fetchResult {\n    status\n    body\n  }\n}\n"
  },
  {
    "path": "order-routing/wasm/pickup-point-delivery-option-generators/default/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nOnly allow the field to be queried when targeting one of the specified targets.\n\"\"\"\ndirective @restrictTarget(only: [String!]!) on FIELD_DEFINITION\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nInformation about the allocation for one or more line items that are to be delivered to a specific address.\n\"\"\"\ntype Allocation {\n  \"\"\"\n  The delivery address for the allocation.\n  \"\"\"\n  deliveryAddress: MailingAddress!\n}\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe pickup point's hours of operation for a specific day of the week.\n\"\"\"\ninput BusinessHours {\n  \"\"\"\n  The day of the week.\n  \"\"\"\n  day: Weekday!\n\n  \"\"\"\n  The operating time periods for a specific day. To represent split schedules\n  (for example, 9:00-12:00 and 13:00-17:00 for locations that close during\n  lunch), you can specify multiple periods.\n\n  Each period consists of `opening_time` and `closing_time`. To indicate the\n  location is closed on a specific day, such as Sunday, then omit it entirely\n  from the `business_hours` array.\n  \"\"\"\n  periods: [BusinessHoursPeriod!]!\n}\n\n\"\"\"\nThe pickup point's hours of operation for a specific day of the week.\n\"\"\"\ninput BusinessHoursPeriod {\n  \"\"\"\n  The time that the pickup point location closes.\n  \"\"\"\n  closingTime: TimeWithoutTimezone!\n\n  \"\"\"\n  The time that the pickup point location opens.\n  \"\"\"\n  openingTime: TimeWithoutTimezone!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart implements HasMetafields {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The additional fields on the **Cart** page that are required for international orders in specific countries,\n  such as customs information or tax identification numbers.\n  \"\"\"\n  localizedFields(\n    \"\"\"\n    The keys of the localized fields to retrieve.\n    \"\"\"\n    keys: [LocalizedFieldKey!]! = []\n  ): [LocalizedField!]!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The physical location where a retail order is created or completed.\n  \"\"\"\n  retailLocation: Location\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  The type of merchandise in the delivery group.\n  \"\"\"\n  groupType: CartDeliveryGroupType!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nDefines what type of merchandise is in the delivery group.\n\"\"\"\nenum CartDeliveryGroupType {\n  \"\"\"\n  The delivery group only contains merchandise that is either a one time purchase or a first delivery of\n  subscription merchandise.\n  \"\"\"\n  ONE_TIME_PURCHASE\n\n  \"\"\"\n  The delivery group only contains subscription merchandise.\n  \"\"\"\n  SUBSCRIPTION\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe fetch target result. Your Function must return this data structure when generating the request.\n\"\"\"\ninput FunctionFetchResult {\n  \"\"\"\n  The attributes associated with an HTTP request.\n  \"\"\"\n  request: HttpRequest\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to\ngenerate pickup point delivery options at checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  An ordered list of operations to apply to generate pickup point delivery options.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request.\n\"\"\"\ninput HttpRequest {\n  \"\"\"\n  The HTTP request body as a plain string.\n  Use this field when the body isn't in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpRequestHeader!]!\n\n  \"\"\"\n  The HTTP request body as a JSON object.\n  Use this field when the body's in JSON format, to reduce function instruction consumption\n  and to ensure the body's formatted in logs.\n  Don't use this field together with the `body` field. If both are provided, then the `body` field\n  will take precedence.\n  If this field is specified and no `Content-Type` header is included, then the header will\n  automatically be set to `application/json`.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP method.\n  \"\"\"\n  method: HttpRequestMethod!\n\n  \"\"\"\n  Policy attached to the HTTP request.\n  \"\"\"\n  policy: HttpRequestPolicy!\n\n  \"\"\"\n  The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.\n  \"\"\"\n  url: URL!\n}\n\n\"\"\"\nThe attributes associated with an HTTP request header.\n\"\"\"\ninput HttpRequestHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nThe HTTP request available methods.\n\"\"\"\nenum HttpRequestMethod {\n  \"\"\"\n  Http GET.\n  \"\"\"\n  GET\n\n  \"\"\"\n  Http POST.\n  \"\"\"\n  POST\n}\n\n\"\"\"\nThe attributes associated with an HTTP request policy.\n\"\"\"\ninput HttpRequestPolicy {\n  \"\"\"\n  Read timeout in milliseconds.\n  \"\"\"\n  readTimeoutMs: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response.\n\"\"\"\ntype HttpResponse {\n  \"\"\"\n  The HTTP response body as a plain string.\n  Use this field when the body is not in JSON format.\n  \"\"\"\n  body: String\n\n  \"\"\"\n  An HTTP header.\n  \"\"\"\n  header(\n    \"\"\"\n    A case-insensitive header name.\n    \"\"\"\n    name: String!\n  ): HttpResponseHeader\n\n  \"\"\"\n  The HTTP headers.\n  \"\"\"\n  headers: [HttpResponseHeader!]! @deprecated(reason: \"Use `header` instead.\")\n\n  \"\"\"\n  The HTTP response body parsed as JSON. \n  If the body is valid JSON, it will be parsed and returned as a JSON object. \n  If parsing fails, then raw body is returned as a string. \n  Use this field when you expect the response to be JSON, or when you're dealing\n  with mixed response types, meaning both JSON and non-JSON.\n  Using this field reduces function instruction consumption and ensures that the data is formatted in logs.\n  To prevent increasing the function target input size unnecessarily, avoid querying\n  both `body` and `jsonBody` simultaneously.\n  \"\"\"\n  jsonBody: JSON\n\n  \"\"\"\n  The HTTP status code.\n  \"\"\"\n  status: Int!\n}\n\n\"\"\"\nThe attributes associated with an HTTP response header.\n\"\"\"\ntype HttpResponseHeader {\n  \"\"\"\n  Header name.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Header value.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  A list of one or more line items that are to be delivered to a specific address.\n  \"\"\"\n  allocations: [Allocation!]! @deprecated(reason: \"Use `deliveryAddress` instead.\")\n\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The delivery address for the pickup point delivery option.\n  \"\"\"\n  deliveryAddress: MailingAddress!\n\n  \"\"\"\n  The fetch target result. Your Function must return this data structure when generating the request.\n  \"\"\"\n  fetchResult: HttpResponse @restrictTarget(only: [\"purchase.pickup-point-delivery-option-generator.run\"])\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nLocal pickup settings associated with a location.\n\"\"\"\ntype LocalPickup {\n  \"\"\"\n  Whether local pickup is enabled for the location.\n  \"\"\"\n  enabled: Boolean!\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market! @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n}\n\n\"\"\"\nRepresents the value captured by a localized field. Localized fields are\nadditional fields required by certain countries on international orders. For\nexample, some countries require additional fields for customs information or tax\nidentification numbers.\n\"\"\"\ntype LocalizedField {\n  \"\"\"\n  The key of the localized field.\n  \"\"\"\n  key: LocalizedFieldKey!\n\n  \"\"\"\n  The title of the localized field.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The value of the localized field.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nUnique key identifying localized fields.\n\"\"\"\nenum LocalizedFieldKey {\n  \"\"\"\n  Localized field key 'shipping_credential_br' for country Brazil.\n  \"\"\"\n  SHIPPING_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'shipping_credential_cl' for country Chile.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'shipping_credential_cn' for country China.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CN\n\n  \"\"\"\n  Localized field key 'shipping_credential_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'shipping_credential_cr' for country Costa Rica.\n  \"\"\"\n  SHIPPING_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'shipping_credential_ec' for country Ecuador.\n  \"\"\"\n  SHIPPING_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'shipping_credential_es' for country Spain.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'shipping_credential_gt' for country Guatemala.\n  \"\"\"\n  SHIPPING_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'shipping_credential_id' for country Indonesia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'shipping_credential_kr' for country South Korea.\n  \"\"\"\n  SHIPPING_CREDENTIAL_KR\n\n  \"\"\"\n  Localized field key 'shipping_credential_mx' for country Mexico.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'shipping_credential_my' for country Malaysia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'shipping_credential_pe' for country Peru.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'shipping_credential_pt' for country Portugal.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'shipping_credential_py' for country Paraguay.\n  \"\"\"\n  SHIPPING_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'shipping_credential_tr' for country Turkey.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'shipping_credential_tw' for country Taiwan.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TW\n\n  \"\"\"\n  Localized field key 'shipping_credential_type_co' for country Colombia.\n  \"\"\"\n  SHIPPING_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_br' for country Brazil.\n  \"\"\"\n  TAX_CREDENTIAL_BR\n\n  \"\"\"\n  Localized field key 'tax_credential_cl' for country Chile.\n  \"\"\"\n  TAX_CREDENTIAL_CL\n\n  \"\"\"\n  Localized field key 'tax_credential_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_cr' for country Costa Rica.\n  \"\"\"\n  TAX_CREDENTIAL_CR\n\n  \"\"\"\n  Localized field key 'tax_credential_ec' for country Ecuador.\n  \"\"\"\n  TAX_CREDENTIAL_EC\n\n  \"\"\"\n  Localized field key 'tax_credential_es' for country Spain.\n  \"\"\"\n  TAX_CREDENTIAL_ES\n\n  \"\"\"\n  Localized field key 'tax_credential_gt' for country Guatemala.\n  \"\"\"\n  TAX_CREDENTIAL_GT\n\n  \"\"\"\n  Localized field key 'tax_credential_id' for country Indonesia.\n  \"\"\"\n  TAX_CREDENTIAL_ID\n\n  \"\"\"\n  Localized field key 'tax_credential_it' for country Italy.\n  \"\"\"\n  TAX_CREDENTIAL_IT\n\n  \"\"\"\n  Localized field key 'tax_credential_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_my' for country Malaysia.\n  \"\"\"\n  TAX_CREDENTIAL_MY\n\n  \"\"\"\n  Localized field key 'tax_credential_pe' for country Peru.\n  \"\"\"\n  TAX_CREDENTIAL_PE\n\n  \"\"\"\n  Localized field key 'tax_credential_pt' for country Portugal.\n  \"\"\"\n  TAX_CREDENTIAL_PT\n\n  \"\"\"\n  Localized field key 'tax_credential_py' for country Paraguay.\n  \"\"\"\n  TAX_CREDENTIAL_PY\n\n  \"\"\"\n  Localized field key 'tax_credential_tr' for country Turkey.\n  \"\"\"\n  TAX_CREDENTIAL_TR\n\n  \"\"\"\n  Localized field key 'tax_credential_type_co' for country Colombia.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_CO\n\n  \"\"\"\n  Localized field key 'tax_credential_type_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_TYPE_MX\n\n  \"\"\"\n  Localized field key 'tax_credential_use_mx' for country Mexico.\n  \"\"\"\n  TAX_CREDENTIAL_USE_MX\n\n  \"\"\"\n  Localized field key 'tax_email_it' for country Italy.\n  \"\"\"\n  TAX_EMAIL_IT\n}\n\n\"\"\"\nRepresents the location where the inventory resides.\n\"\"\"\ntype Location implements HasMetafields {\n  \"\"\"\n  The address of this location.\n  \"\"\"\n  address: LocationAddress!\n\n  \"\"\"\n  The location handle.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The location id.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Local pickup settings associated with a location.\n  \"\"\"\n  localPickup: LocalPickup!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the location.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nRepresents the address of a location.\n\"\"\"\ntype LocationAddress {\n  \"\"\"\n  The first line of the address for the location.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address for the location.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The city of the location.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The country of the location.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  The country code of the location.\n  \"\"\"\n  countryCode: String\n\n  \"\"\"\n  A formatted version of the address for the location.\n  \"\"\"\n  formatted: [String!]!\n\n  \"\"\"\n  The approximate latitude coordinates of the location.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude coordinates of the location.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The phone number of the location.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The province of the location.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  The code for the province, state, or district of the address of the location.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The ZIP code of the location.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market @deprecated(reason: \"This `market` field will be removed in a future version of the API.\")\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ninput MetafieldOutput {\n  \"\"\"\n  The unique identifier for the metafield within its namespace. A metafield is composed of a\n  namespace and a key, in the format `namespace.key`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n  between different apps or different parts of the same app. If omitted, then the\n  [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n  is used.\n  \"\"\"\n  namespace: String\n\n  \"\"\"\n  The [type of data](https://shopify.dev/docs/apps/build/custom-data/metafields/list-of-data-types)\n  that's stored in the metafield.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data to store in the metafield.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result for the purchase.pickup-point-delivery-option-generator.fetch target.\n  \"\"\"\n  fetch(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionFetchResult!\n  ): Void!\n\n  \"\"\"\n  Handles the Function result for the purchase.pickup-point-delivery-option-generator.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn ordered list of operations to generate pickup point delivery options.\n\"\"\"\ninput Operation {\n  \"\"\"\n  The pickup point delivery option to add.\n  \"\"\"\n  add: PickupPointDeliveryOption!\n}\n\n\"\"\"\nComprehensive geographic location information for a physical pickup point. [A pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points)\nis a location where customers can collect their online orders rather than having\nthem delivered to their home or a to a [local pickup point](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store).\nExamples of pickup points include local post offices, convenience stores, and\nself-service lockers.\n\nThis object stores both standard address fields and precise geolocation\ncoordinates for generating pickup points and associated data, such as a\nlocation's distance from the customer.\n\"\"\"\ninput PickupAddress {\n  \"\"\"\n  Address line 1.\n  \"\"\"\n  address1: String!\n\n  \"\"\"\n  Address line 2.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  City.\n  \"\"\"\n  city: String!\n\n  \"\"\"\n  Country.\n  \"\"\"\n  country: String\n\n  \"\"\"\n  Country code.\n  \"\"\"\n  countryCode: CountryCode!\n\n  \"\"\"\n  Latitude.\n  \"\"\"\n  latitude: Float!\n\n  \"\"\"\n  Longitude.\n  \"\"\"\n  longitude: Float!\n\n  \"\"\"\n  Phone number.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  Province.\n  \"\"\"\n  province: String\n\n  \"\"\"\n  Province code.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  Zip code.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA third-party location where customers can collect their orders, such as a local\npost office, convenience store, or self-service locker.\n\"\"\"\ninput PickupPoint {\n  \"\"\"\n  The address of the pickup point's location.\n  \"\"\"\n  address: PickupAddress!\n\n  \"\"\"\n  A list of operating hours for the pickup point. A day that's omitted or\n  doesn't have defined time periods is considered to be closed.\n  \"\"\"\n  businessHours: [BusinessHours!]\n\n  \"\"\"\n  The unique ID that the third-party service has assigned to the pickup point.\n  \"\"\"\n  externalId: String!\n\n  \"\"\"\n  The name that the third-party service has assigned to the pickup point.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The third-party service that manages pickup point delivery options.\n  \"\"\"\n  provider: Provider!\n}\n\n\"\"\"\nA pickup point delivery option, such as a local post office, convenience store, or self-service locker.\n\"\"\"\ninput PickupPointDeliveryOption {\n  \"\"\"\n  The delivery option's cost in the cart's currency. If not provided, then the\n  system uses the default price from the location's pickup points settings.\n  \"\"\"\n  cost: Decimal\n\n  \"\"\"\n  The metafields associated with the pickup point delivery option.\n  \"\"\"\n  metafields: [MetafieldOutput!] = []\n\n  \"\"\"\n  The [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points) where customers can collect their online orders rather than having them\n  delivered to their home or to a [local pickup point](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store).\n  Examples of pickup points include local post offices, convenience stores, and\n  self-service lockers.\n  \"\"\"\n  pickupPoint: PickupPoint!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe third-party service that manages the pickup point delivery options.\n\"\"\"\ninput Provider {\n  \"\"\"\n  The URL logo for the third-party service that manages the pickup point\n  delivery options. The base URL must be `https://cdn.shopify.com`.\n  \"\"\"\n  logoUrl: URL!\n\n  \"\"\"\n  The name of the third-party service that manages the pickup point delivery options.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nThe day of the week.\n\"\"\"\nenum Weekday {\n  \"\"\"\n  Friday\n  \"\"\"\n  FRIDAY\n\n  \"\"\"\n  Monday\n  \"\"\"\n  MONDAY\n\n  \"\"\"\n  Saturday\n  \"\"\"\n  SATURDAY\n\n  \"\"\"\n  Sunday\n  \"\"\"\n  SUNDAY\n\n  \"\"\"\n  Thursday\n  \"\"\"\n  THURSDAY\n\n  \"\"\"\n  Tuesday\n  \"\"\"\n  TUESDAY\n\n  \"\"\"\n  Wednesday\n  \"\"\"\n  WEDNESDAY\n}\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "order-routing/wasm/pickup-point-delivery-option-generators/default/shopify.extension.toml.liquid",
    "content": "api_version = \"unstable\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"{{handle}}\"\ntype = \"function\"\ndescription = \"t:description\"\n{% if uid %}uid = \"{{ uid }}\"{% endif %}\n\n  [[extensions.targeting]]\n  target = \"purchase.pickup-point-delivery-option-generator.fetch\"\n  input_query = \"src/fetch.graphql\"\n  export = \"fetch\"\n\n  [[extensions.targeting]]\n  target = \"purchase.pickup-point-delivery-option-generator.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"echo 'build the wasm'\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"function-examples\",\n  \"version\": \"1.0.0\",\n  \"type\": \"module\",\n  \"devDependencies\": {\n    \"@iarna/toml\": \"^2.2.5\",\n    \"fast-glob\": \"^3.2.11\",\n    \"liquidjs\": \"^9.37.0\",\n    \"@graphql-codegen/cli\": \"^3.2.2\",\n    \"@graphql-codegen/typescript\": \"^3.0.2\",\n    \"@graphql-codegen/typescript-operations\": \"^3.0.2\",\n    \"graphql\": \"^16.6.0\"\n  },\n  \"scripts\": {\n    \"expand-liquid\": \"node ./util/expand-liquid.js\",\n    \"typegen\": \"yarn workspaces run graphql-code-generator --config package.json\",\n    \"test-js\": \"yarn expand-liquid vanilla-js && yarn && yarn typegen && yarn workspaces run test run\",\n    \"test-ts\": \"yarn expand-liquid typescript && yarn && yarn typegen && yarn workspaces run test run\"\n  },\n  \"private\": true,\n  \"workspaces\": [\n    \"*/javascript/**\"\n  ]\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/.dockerignore",
    "content": "web/frontend/node_modules\nweb/frontend/dist\n\nweb/Gemfile.lock\nweb/db/*.sqlite3\nweb/config/master.key\n\nweb/public/api/assets\nweb/public/assets\nweb/public/index.html\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/.gitattributes",
    "content": "# See https://git-scm.com/docs/gitattributes for more about git attribute files.\n\n# Mark the database schema as having been generated.\nweb/db/schema.rb linguist-generated\n\n# Mark any vendored files as having been vendored.\nweb/vendor/* linguist-vendored\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/.gitignore",
    "content": "**/node_modules\n\n.env\n.env.*\n\nextensions/**/target/\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/.npmrc",
    "content": "@shopify:registry=https://registry.npmjs.org\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/.ruby-version",
    "content": "ruby-3.1.2\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/.vscode/extensions.json",
    "content": "{\n  \"recommendations\": [\n    \"shopify.polaris-for-vscode\"\n  ]\n} \n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/Dockerfile",
    "content": "FROM ruby:3.1-alpine\n\nARG SHOPIFY_API_KEY\nENV SHOPIFY_API_KEY=$SHOPIFY_API_KEY\n\nRUN apk update && apk add nodejs npm git build-base sqlite-dev gcompat bash openssl-dev\nWORKDIR /app\n\nCOPY web .\n\nRUN cd frontend && npm install\nRUN bundle install\n\nRUN cd frontend && npm run build\nRUN rake build:all\n\nCOPY entrypoint.sh /usr/bin/\nRUN chmod +x /usr/bin/entrypoint.sh\n\nENTRYPOINT [\"entrypoint.sh\"]\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/GETTING_STARTED.md",
    "content": "# Shopify App Template - Ruby\n\nThis is a template for building a [Shopify app](https://shopify.dev/apps/getting-started) using Ruby on Rails and React. It contains the basics for building a Shopify app.\n\nRather than cloning this repo, you can use your preferred package manager and the Shopify CLI with [these steps](#installing-the-template).\n\n## Benefits\n\nShopify apps are built on a variety of Shopify tools to create a great merchant experience. The [create an app](https://shopify.dev/apps/getting-started/create) tutorial in our developer documentation will guide you through creating a Shopify app using this template.\n\nThe Ruby app template comes with the following out-of-the-box functionality:\n\n- OAuth: Installing the app and granting permissions\n- GraphQL Admin API: Querying or mutating Shopify admin data\n- REST Admin API: Resource classes to interact with the API\n- Shopify-specific tooling:\n  - AppBridge\n  - Polaris\n  - Webhooks\n\n## Tech Stack\n\nThis template combines a number of third party open source tools:\n\n- [Rails](https://rubyonrails.org/) builds the backend.\n- [Vite](https://vitejs.dev/) builds the [React](https://reactjs.org/) frontend.\n- [React Router](https://reactrouter.com/) is used for routing. We wrap this with file-based routing.\n- [React Query](https://react-query.tanstack.com/) queries the Admin API.\n\nThese third party tools are complemented by Shopify specific tools to ease app development:\n\n- [Shopify API library](https://github.com/Shopify/shopify-api-ruby) adds OAuth to the Rails backend. This lets users install the app and grant scope permissions.\n- [App Bridge](https://shopify.dev/apps/tools/app-bridge) and [App Bridge React](https://shopify.dev/apps/tools/app-bridge/getting-started/using-react) add authentication to API requests in the frontend and renders components outside of the App’s iFrame.\n- [Polaris React](https://polaris.shopify.com/) is a powerful design system and component library that helps developers build high quality, consistent experiences for Shopify merchants.\n- [Custom hooks](https://github.com/Shopify/shopify-frontend-template-react/tree/main/hooks) make authenticated requests to the Admin API.\n- [File-based routing](https://github.com/Shopify/shopify-frontend-template-react/blob/main/Routes.jsx) makes creating new pages easier.\n\n## Getting started\n\n### Requirements\n\n1. You must [create a Shopify partner account](https://partners.shopify.com/signup) if you don’t have one.\n1. You must create a store for testing if you don't have one, either a [development store](https://help.shopify.com/en/partners/dashboard/development-stores#create-a-development-store) or a [Shopify Plus sandbox store](https://help.shopify.com/en/partners/dashboard/managing-stores/plus-sandbox-store).\n1. You must have [Ruby](https://www.ruby-lang.org/en/) installed.\n1. You must have [Bundler](https://bundler.io/) installed.\n1. You must have [Node.js](https://nodejs.org/) installed.\n\n### Installing the template\n\nThis template runs on Shopify CLI 3.0, which is a node package that can be included in projects. You can install it using your preferred Node.js package manager:\n\nUsing yarn:\n\n```shell\nyarn create @shopify/app --template=ruby\n```\n\nUsing npx:\n\n```shell\nnpm init @shopify/app@latest --template=ruby\n```\n\nUsing pnpm:\n\n```shell\npnpm create @shopify/app@latest --template=ruby\n```\n\nThis will clone the template and install the CLI in that project.\n\n### Setting up your Rails app\n\nOnce the Shopify CLI clones the repo, you will be able to run commands on your app.\nHowever, the CLI will not manage your Ruby dependencies automatically, so you will need to go through some steps to be able to run your app.\nTo make the process easier, the template provides a script to run the necessary steps:\n\n1. Start off by switching to the `web` folder:\n   ```shell\n   cd web\n   ```\n1. Install the ruby dependencies:\n   ```shell\n   bundle install\n   ```\n1. Run the [Rails template](https://guides.rubyonrails.org/rails_application_templates.html) script.\n   It will guide you through setting up your database and set up the necessary keys for encrypted credentials.\n   ```shell\n   bin/rails app:template LOCATION=./template.rb\n   ```\n\nAnd your Rails app is ready to run! You can now switch back to your app's root folder to continue:\n\n```shell\ncd ..\n```\n\n### Local Development\n\n[The Shopify CLI](https://shopify.dev/apps/tools/cli) connects to an app in your Partners dashboard.\nIt provides environment variables, runs commands in parallel, and updates application URLs for easier development.\n\nYou can develop locally using your preferred Node.js package manager.\nRun one of the following commands from the root of your app:\n\nUsing yarn:\n\n```shell\nyarn dev\n```\n\nUsing npm:\n\n```shell\nnpm run dev\n```\n\nUsing pnpm:\n\n```shell\npnpm run dev\n```\n\nOpen the URL generated in your console. Once you grant permission to the app, you can start development.\n\n## Deployment\n\n### Application Storage\n\nThis template uses [Rails' ActiveRecord framework](https://guides.rubyonrails.org/active_record_basics.html) to store Shopify session data.\nIt provides migrations to create the necessary tables in your database, and it stores and loads session data from them.\n\nThe database that works best for you depends on the data your app needs and how it is queried.\nYou can run your database of choice on a server yourself or host it with a SaaS company.\nOnce you decide which database to use, you can configure your app to connect to it, and this template will start using that database for session storage.\n\n### Build\n\nThe frontend is a single page React app.\nIt requires the `SHOPIFY_API_KEY` environment variable, which you can get by running `yarn run info --web-env`.\nThe CLI will set up the necessary environment variables for the build if you run its `build` command from your app's root:\n\nUsing yarn in your app's root folder:\n\n```shell\nyarn build --api-key=REPLACE_ME\n```\n\nUsing npm:\n\n```shell\nnpm run build --api-key=REPLACE_ME\n```\n\nUsing pnpm:\n\n```shell\npnpm run build --api-key=REPLACE_ME\n```\n\nThe app build command will build both the frontend and backend when running as above.\nIf you're manually building (for instance when deploying the `web` folder to production), you'll need to build both of them:\n\n```shell\ncd web/frontend\nSHOPIFY_API_KEY=REPLACE_ME yarn build\ncd ..\nrake build:all\n```\n\n## Hosting\n\nWhen you're ready to set up your app in production, you can follow [our deployment documentation](https://shopify.dev/apps/deployment/web) to host your app on a cloud provider like [Heroku](https://www.heroku.com/) or [Fly.io](https://fly.io/).\n\nWhen you reach the step for [setting up environment variables](https://shopify.dev/apps/deployment/web#set-env-vars), you also need to set the following variables:\n\n| Variable                   | Secret? | Required |     Value      | Description                                                 |\n| -------------------------- | :-----: | :------: | :------------: | ----------------------------------------------------------- |\n| `RAILS_MASTER_KEY`         |   Yes   |   Yes    |     string     | Use value from `web/config/master.key` or create a new one. |\n| `RAILS_ENV`                |         |   Yes    | `\"production\"` |                                                             |\n| `RAILS_SERVE_STATIC_FILES` |         |   Yes    |      `1`       | Tells rails to serve the React app from the public folder.  |\n| `RAILS_LOG_TO_STDOUT`      |         |          |      `1`       | Tells rails to print out logs.                              |\n\n## Known issues\n\n### Hot module replacement and Firefox\n\nWhen running the app with the CLI in development mode on Firefox, you might see your app constantly reloading when you access it.\nThat happened in previous versions of the CLI, because of the way HMR websocket requests work.\n\nWe fixed this issue with v3.4.0 of the CLI, so after updating it, you can make the following changes to your app's `web/frontend/vite.config.js` file:\n\n1. Change the definition `hmrConfig` object to be:\n\n   ```js\n   const host = process.env.HOST\n     ? process.env.HOST.replace(/https?:\\/\\//, \"\")\n     : \"localhost\";\n\n   let hmrConfig;\n   if (host === \"localhost\") {\n     hmrConfig = {\n       protocol: \"ws\",\n       host: \"localhost\",\n       port: 64999,\n       clientPort: 64999,\n     };\n   } else {\n     hmrConfig = {\n       protocol: \"wss\",\n       host: host,\n       port: process.env.FRONTEND_PORT,\n       clientPort: 443,\n     };\n   }\n   ```\n\n1. Change the `server.host` setting in the configs to `\"localhost\"`:\n\n   ```js\n   server: {\n     host: \"localhost\",\n     ...\n   ```\n\n### I can't get past the ngrok \"Visit site\" page\n\nWhen you’re previewing your app or extension, you might see an ngrok interstitial page with a warning:\n\n```\nYou are about to visit <id>.ngrok.io: Visit Site\n```\n\nIf you click the `Visit Site` button, but continue to see this page, then you should run dev using an alternate tunnel URL that you run using tunneling software.\nWe've validated that [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/run-tunnel/trycloudflare/) works with this template.\n\nTo do that, you can [install the `cloudflared` CLI tool](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation/), and run:\n\n```shell\n# Note that you can also use a different port\ncloudflared tunnel --url http://localhost:3000\n```\n\nIn a different terminal window, navigate to your app's root and call:\n\n```shell\n# Using yarn\nyarn dev --tunnel-url https://tunnel-url:3000\n# or using npm\nnpm run dev --tunnel-url https://tunnel-url:3000\n# or using pnpm\npnpm dev --tunnel-url https://tunnel-url:3000\n```\n\n## Developer resources\n\n- [Introduction to Shopify apps](https://shopify.dev/apps/getting-started)\n- [App authentication](https://shopify.dev/apps/auth)\n- [Shopify CLI](https://shopify.dev/apps/tools/cli)\n- [Shopify API Library documentation](https://github.com/Shopify/shopify-api-ruby/tree/main/docs)\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/README.md",
    "content": "# Bundles Cart Transform Sample App\n\nThe Bundles Cart Transform App is meant to serve as an example of how to implement a `cart_transform` function to update the cart. It offers an example of an implementation of the Merge transformation and the Expand transformation.\n\n## App Deployment Instructions\n\nThere are two aspects of deployment; the deployment of the app itself, and the deployment of extensions.\n\n### App Deployment\n\n[Shopify.dev docs](https://shopify.dev/apps/deployment) cover how to deploy an app.\n\n### Extension Deployment\n\nTo publish versions of the extensions, we will need to use the [Shopify CLI](https://shopify.dev/apps/tools/cli).\n\n[Shopify.dev docs](https://shopify.dev/apps/deployment/extension) cover how to deploy extensions.\n\nNOTE: publishing an extension using the `cart_transform` function must register the extension with every shop that installs it. In this app, we set `config.after_authenticate_job = { job: \"Shopify::AfterAuthenticateJob\", inline: false }` in `web/config/initializers/shopify_app.rb`. This job sends the following mutation query to `ShopifyAPI` which registers the app's extension with the shop.\n\n```graphql\nmutation cartTransformCreate($functionId: String!) {\n  cartTransformCreate(functionId: $functionId) {\n    cartTransform {\n      functionId\n      id\n    }\n    userErrors {\n      field\n      message\n    }\n  }\n}\n```\n\n## How to Build a Bundle\n\n**1. Create metafields on variants**\n\n- On the admin dashboard, go to your shop's settings\n- Click on _Custom data_ in the side-navbar\n  - _Note_: The button may say _Metafields_ depending on your shop's settings\n- Under _Metafields_, click on _Variants_\n- Click _Add definition_ to create a new variant metafield definition\n- Create a `component_reference` metafield definition\n  - Name: `component_reference`\n  - Namespace and key (don't change the default): `custom.component_reference`\n  - Description: `Components included in Bundle`\n  - Select type: `Product Variant` - `List of product variants`\n  - Click _Save_\n- Click _Add definition_ to create a second variant metafield definition\n- Create a `component_quantities` metafield definition\n  - Name: `component_quantities`\n  - Namespace and key (don't change the default): `custom.component_quantities`\n  - Description: `Quantity of components included in Bundle`\n  - Select type: `Integer` - `List of values`\n  - Validation: `Minimum value` - `1`\n  - Click _Save_\n- Click _Add definition_ to create a third variant metafield definition\n- Create a `component_parents` metafield definition\n  - Name: `component_parents`\n  - Namespace and key (don't change the default): `custom.component_parents`\n  - Description: `Child component parent definition`\n  - Select type: `JSON`\n  - Rules:\n    ```json\n    {\n      \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n      \"title\": \"Bundle component parents\",\n      \"description\": \"A definition of the bundle a child belongs to\",\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"description\": \"ID of bundle parent product variant: gid://shopify/ProductVariant/<id number>\",\n            \"type\": \"string\"\n          },\n          \"component_reference\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"value\": {\n                \"description\": \"Array of product variant IDs: [gid://shopify/ProductVariant/<id number>]\",\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"string\"\n                },\n                \"minItems\": 1,\n                \"uniqueItems\": true\n              }\n            },\n            \"required\": [\"value\"]\n          },\n          \"component_quantities\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"value\": {\n                \"description\": \"Array of quantities of product variants defined in component_reference: [1]\",\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"integer\"\n                },\n                \"minItems\": 1\n              }\n            },\n            \"required\": [\"value\"]\n          },\n          \"price_adjustment\": {\n            \"type\": \"object\",\n            \"properties\": {\n              \"value\": {\n                \"description\": \"Array of quantities of product variants defined in component_reference: [1]\",\n                \"type\": \"number\",\n                \"minimum\": 0\n              }\n            },\n            \"required\": [\"value\"]\n          }\n        },\n        \"required\": [\"id\", \"component_reference\", \"component_quantities\"]\n      }\n    }\n    ```\n  - Click _Save_\n\n**2. Create bundle parent product variant**\n\n- Create a product that represents the bundle\n  - _Required_: At least one available in inventory\n  - _Required_: Price is more than 0\n  - _Required_: At least one option, since we need access to the product variant\n- After saving the product, click `Edit` next to the variant of the option\n  - This will be the bundle parent product variant\n- Scroll to the `Metafields` section of the variant edit page\n- Open up the product variants that will be included in this bundle in separate browser tabs\n  - _Note_: We'll need access to the product variant IDs of the bundled products while defining them\n  - _Note_: The product variant IDs can be found in the URL of the product variant\n    - `https://admin.shopify.com/store/<your store>/products/<product ID>/variants/<product variant ID>`\n- On the parent product variant page, click the `component_reference` field under `Metafields`\n- Select the product variants that will be bundled and click _Save_\n- Select the `component_quantities` field under `Metafields`\n  - _Note_: Add a quantity for each `component_reference` in this bundle\n  - _Note_: The order matters, the quantity entered will correspond with the `component_reference` entered\n- Click _Save_ on the parent product variant page\n  - _Note_: Do not exit this page, we'll need the ID from the URL\n\n**3. Define bundle on child product variants**\n_Note_: Complete the following steps for each children product variant defined in `component_reference` in the previous step\n\n- On the child product variant page, click the `componenet_parents` field under `Metafields`\n- Using the JSON schema defined, build the bundle definition\n  - _Note_: The `component_reference` and `component_quantities` values _MUST_ match the values defined on the parent in the previous step\n    _Example_:\n\n```json\n[\n  {\n    \"id\": \"gid://shopify/ProductVariant/<ID of parent product variant>\",\n    \"component_reference\": {\n      \"value\": [\n        \"gid://shopify/ProductVariant/<ID of first child product variant>\",\n        \"gid://shopify/ProductVariant/<ID of second child product variant>\"\n      ]\n    },\n    \"component_quantities\": {\n      \"value\": [\n        <quantity of first product variant in bundle>,\n        <quantity of second product variant in bundle>\n      ]\n    }\n  }\n]\n```\n\n## Extensions\n\n### `cart-merge-expand` Function Extension\n\nThe `cart-merge-expand` extension uses the `cart_transform` function in Shopify to update the cart. This app uses the extension accomplish two transformations:\n\n- Merge bundle\n- Expand bundle\n\n**Merge bundle**\n\nIf the extension detects all of the components of a given bundle in the cart at checkout, it will return `merge` operation(s) to Shopify that will combine the respective components and present the given `parent_product_variant`.\n\nIn the reference app, the `merge` functionality reads over all of the `product_variants` looking for the `metafield` with the following properties: `namespace: \"custom\", key: \"component_parents\"`.\n\nThis is query is defined in `extensions/cart-merge-expand/input.graphql`.\n\n```graphql\nquery Input {\n  cart {\n    lines {\n      id\n      quantity\n      merchandise {\n        ... on ProductVariant {\n          id\n          component_parents: metafield(\n            namespace: \"custom\"\n            key: \"component_parents\"\n          ) {\n            value\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nThe **`component_parents`** field is `metafield` on `product_variant` with the content type `JSON`. Its `value` is an array of objects defining the bundle rules. In order for the `merge` function to work in this app, each child belonging to a bundle _must_ have **`component_parents`** defined. A bundle rule has the following shape:\n\n```json\n{\n  \"id\": <Bundle parent ProductVariant ID>,\n  \"component_reference\": {\n    \"value\": <Array of Bundle children ProductVariant IDs>\n  },\n  \"component_quantities\": {\n    \"value\": <Array of quantities for children ProductVariant IDs>\n  }\n}\n```\n\nAs an example, let's say we have a bundle that contains two shirts and one pair of pants. The bundle parent `product_variant` ID is `6`, the shirt `product_variant` ID included in the bundle is `3` and the pants `product_variant` ID included in the bundle is `4`. Below is value of the **`component_parents`** metafield that _must_ belongs to both the shirt `product_variant` and pants `product_variant` in order for the `merge` functionality in this extension to work.\n\n```json\n[\n  {\n    \"id\": \"gid://shopify/ProductVariant/6\",\n    \"component_reference\": {\n      \"value\": [\n        \"gid://shopify/ProductVariant/3\",\n        \"gid://shopify/ProductVariant/4\"\n      ]\n    },\n    \"component_quantities\": {\n      \"value\": [2, 1]\n    }\n  }\n]\n```\n\nNote that the order of the `component_reference` and the `component_quantities` match up. In this example, we can see that the first `component_quantities` value (`2`) matches with the first `component_reference` value (`gid://shopify/ProductVariant/3`) since two shirts are required for the bundle to be complete.\n\nAlso, notice that the extension uses Shopify's `product_variant` gids. The ID of the `product_variant` must be prepended with `gid://shopify/ProductVariant/` denoting that it is a `product_variant` ID.\n\n**Expand bundle**\n\nIf the extension detects a bundle product with the necessaroy `metadata` on how to expand it, it will return `expand` operation(s) to Shopify. This operation tells Shopify the `cart_line_id` that is being expanded and the `product_variants` that are being added by the given `cart_line_id`.\n\nIn the reference app, the `cart-merge-expand` extension looks for two `metafields` belonging to a `product_variant` to determine if the variant is a bundle and should be expanded. The extension looks for the following: `namespace: \"custom\", key: \"component_reference\"` and `namespace: \"custom\", key: \"component_quantities\"`.\n\nThis is query is defined in `extensions/cart-merge-expand/input.graphql`.\n\n```graphql\nquery Input {\n  cart {\n    lines {\n      id\n      quantity\n      merchandise {\n        ... on ProductVariant {\n          id\n          component_reference: metafield(\n            namespace: \"custom\"\n            key: \"component_reference\"\n          ) {\n            value\n          }\n          component_quantities: metafield(\n            namespace: \"custom\"\n            key: \"component_quantities\"\n          ) {\n            value\n          }\n          price_adjustment: metafield(\n            namespace: \"custom\"\n            key: \"price_adjustment\"\n          ) {\n            value\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nThe **`component_reference`** field is `metafield` on `product_variant` with the content type `variants`. Its `value` is an array of IDs of `product_variants`.\n\n```json\n[\n  \"gid://shopify/ProductVariant/<product variant ID>\",\n  \"gid://shopify/ProductVariant/<product variant ID>\"\n]\n```\n\nThe **`component_quantities`** field is `metafield` on `product_variant` with the content type `integer`. Its `value` is an array of numbers that correspond with the quantity of `product_variants` defined in the `component_reference` field included in the bundle.\n\n```json\n[\n  <quantity of first variant defined in `component_referece`>,\n  <quantity of second variant defined in `component_referece`>\n]\n```\n\nAs an example, let's say we have a bundle that contains two shirts and one pair of pants. The shirt `product_variant` ID included in the bundle is `3` and the pants `product_variant` ID included in the bundle is `4`. The `product_variant` of the bundle would have the following metafields defined.\n\n**`component_reference`**:\n\n```json\n[\"gid://shopify/ProductVariant/3\", \"gid://shopify/ProductVariant/4\"]\n```\n\n**`component_quantity`**:\n\n```json\n[2, 1]\n```\n\nNote that the order of the `component_reference` and the `component_quantities` match up. In this example, we can see that the first `component_quantities` value (`2`) matches with the first `component_reference` value (`gid://shopify/ProductVariant/3`) since two shirts are required for the bundle to be complete.\n\n**Price Adjustment [_Optional_]**\n\n`cart_transform` provides the functionality to also adjust the price of expanded or merged components. By adding the metafield `namespace: \"custom\", key: \"price_adjustment\"` to a bundle parent _or_ the property `price_adjustment` to a `component_parents` metafield value, the `cart-merge-expand` extension will return a `percentageDecrease` of the given value.\n\nFor example:\n\n_Input_\n\n```json\n{\n  \"cart\": {\n    \"lines\": [\n      {\n        \"id\": \"gid://shopify/CartLine/4\",\n        \"quantity\": 9,\n        \"merchandise\": {\n          \"id\": \"gid://shopify/ProductVariant/1111\",\n          \"title\": \"A neat bundle\",\n          \"component_reference\": {\n            \"value\": \"[\\\"gid://shopify/ProductVariant/111\\\",\\\"gid://shopify/ProductVariant/222\\\"]\"\n          },\n          \"component_quantities\": {\n            \"value\": \"[2,3]\"\n          },\n          \"price_adjustment\": {\n            \"value\": \"10.5\"\n          }\n        }\n      }\n    ]\n  }\n}\n```\n\n_Output_\n\n```json\n{\n  “operations”: [\n    {\n      “expand”: {\n        “cartLineId”: “gid://shopify/CartLine/4”,\n        “expandedCartItems”: [\n          {\n            “merchandiseId”: “gid://shopify/ProductVariant/111”,\n            “quantity”: 2\n          },\n          {\n            “merchandiseId”: “gid://shopify/ProductVariant/222”,\n            “quantity”: 3\n          }\n        ],\n        “price”: {\n          “percentageDecrease”: {\n            “value”: 10.5\n          }\n        }\n      }\n    }\n  ]\n}\n```\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/entrypoint.sh",
    "content": "#! /usr/bin/env bash\n\nset -e\n\n# Remove a potentially pre-existing server.pid for Rails.\nrm -f /app/tmp/pids/server.pid\n\nbin/rails db:create\nbin/rails db:migrate\n\nrails server -b 0.0.0.0 -e production\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-expand-js/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-expand-js/input.graphql",
    "content": "query Input {\n  cart {\n    lines {\n      id\n      quantity\n      merchandise {\n        __typename\n        ... on ProductVariant {\n          id\n          title\n          componentReferences: metafield(\n            namespace: \"custom\"\n            key: \"component_reference\"\n          ) {\n            value\n          }\n          componentQuantities: metafield(\n            namespace: \"custom\"\n            key: \"component_quantities\"\n          ) {\n            value\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-expand-js/package.json",
    "content": "{\n  \"name\": \"ignacio-cart-transform-expand-example\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"input.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"0.0.3\",\n    \"javy\": \"0.1.0\"\n  }\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-expand-js/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-expand-js/shopify.extension.toml",
    "content": "api_version = \"2024-04\"\n\n[[extensions]]\nname = \"test-demo\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-expand-js/src/index.js",
    "content": "// @ts-check\n\n/*\nA straightforward example of a function that expands a bundle into its component parts.\nThe parts of a bundle are stored in a metafield on the product parent value with a specific format,\nspecifying each part's quantity and variant.\n\nThe function reads the cart. Any item containing the metafield that specifies the bundle parts\nwill return an Expand operation containing the parts.\n*/\n\n/**\n * @typedef {import(\"../generated/api\").InputQuery} InputQuery\n * @typedef {import(\"../generated/api\").FunctionResult} FunctionResult\n * @typedef {import(\"../generated/api\").CartOperation} CartOperation\n */\n\n/**\n * @type {FunctionResult}\n */\nconst NO_CHANGES = {\n  operations: [],\n};\n\nexport default /**\n * @param {InputQuery} input\n * @returns {FunctionResult}\n */\n(input) => {\n  const operations = input.cart.lines.reduce(\n    /** @param {CartOperation[]} acc */\n    (acc, cartLine) => {\n      const expandOperation = optionallyBuildExpandOperation(cartLine);\n\n      if (expandOperation) {\n        return [...acc, { expand: expandOperation }];\n      }\n\n      return acc;\n    },\n    []\n  );\n\n  return operations.length > 0 ? { operations } : NO_CHANGES;\n};\n\nfunction optionallyBuildExpandOperation({ id: cartLineId, merchandise }) {\n  const hasExpandMetafields =\n    !!merchandise.componentQuantities && !!merchandise.componentReferences;\n  if (merchandise.__typename === \"ProductVariant\" && hasExpandMetafields) {\n    const componentReferences = JSON.parse(\n      merchandise.componentReferences.value\n    );\n    const componentQuantities = JSON.parse(\n      merchandise.componentQuantities.value\n    );\n\n    if (\n      componentReferences.length !== componentQuantities.length ||\n      componentReferences.length === 0\n    ) {\n      throw new Error(\"Invalid bundle composition\");\n    }\n\n    const expandedCartItems = componentReferences.map(\n      (merchandiseId, index) => ({\n        merchandiseId: merchandiseId,\n        quantity: componentQuantities[index],\n      })\n    );\n\n    if (expandedCartItems.length > 0) {\n      return { cartLineId, expandedCartItems };\n    }\n  }\n\n  return null;\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-expand-js/src/index.test.js",
    "content": "import { describe, it, expect } from \"vitest\";\nimport cartTransform from \"./index\";\n\ndescribe(\"cart transform function\", () => {\n  it(\"returns NO_CHANGES when cart is empty\", () => {\n    expect(\n      cartTransform({\n        cart: {\n          lines: [],\n        },\n      })\n    ).toStrictEqual({ operations: [] });\n  });\n\n  it(\"returns NO_CHANGES when cart contains no bundles\", () => {\n    expect(\n      cartTransform({\n        cart: {\n          lines: [\n            {\n              id: \"1\",\n              merchandise: {\n                __typename: \"ProductVariant\",\n                componentReferences: null,\n                componentQuantities: null,\n              },\n            },\n          ],\n        },\n      })\n    ).toStrictEqual({ operations: [] });\n  });\n\n  it(\"returns operations when cart contains a bundle\", () => {\n    expect(\n      cartTransform({\n        cart: {\n          lines: [\n            {\n              id: \"1\",\n              merchandise: {\n                __typename: \"ProductVariant\",\n                componentReferences: { value: JSON.stringify([\"2\", \"3\"]) },\n                componentQuantities: { value: JSON.stringify([1, 2]) },\n              },\n            },\n          ],\n        },\n      })\n    ).toStrictEqual({\n      operations: [\n        {\n          expand: {\n            cartLineId: \"1\",\n            expandedCartItems: [\n              {\n                merchandiseId: \"2\",\n                quantity: 1,\n              },\n              {\n                merchandiseId: \"3\",\n                quantity: 2,\n              },\n            ],\n          },\n        },\n      ],\n    });\n  });\n\n  describe(\"error cases\", () => {\n    it(\"throws an error when componentReferences and componentQuantities lengths are not equal\", () => {\n      expect(() =>\n        cartTransform({\n          cart: {\n            lines: [\n              {\n                id: \"1\",\n                merchandise: {\n                  __typename: \"ProductVariant\",\n                  componentReferences: { value: JSON.stringify([\"2\", \"3\"]) },\n                  componentQuantities: { value: JSON.stringify([1]) },\n                },\n              },\n            ],\n          },\n        })\n      ).toThrow(\"Invalid bundle composition\");\n    });\n\n    it(\"throws an error when componentReferences length is 0\", () => {\n      expect(() =>\n        cartTransform({\n          cart: {\n            lines: [\n              {\n                id: \"1\",\n                merchandise: {\n                  __typename: \"ProductVariant\",\n                  componentReferences: { value: JSON.stringify([]) },\n                  componentQuantities: { value: JSON.stringify([]) },\n                },\n              },\n            ],\n          },\n        })\n      ).toThrow(\"Invalid bundle composition\");\n    });\n  });\n});\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-merge-expand_rust/Cargo.toml",
    "content": "[package]\nname = \"bundle_cart_transform\"\nversion = \"1.0.0\"\nedition = \"2021\"\nrust-version = \"1.62\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_with = \"1.13.0\"\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 's'\nstrip = true\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-merge-expand_rust/input.json",
    "content": "{\n  \"cart\": {\n    \"lines\": [\n      {\n        \"id\": \"gid://shopify/CartLine/1\",\n        \"quantity\": 1,\n        \"merchandise\": {\n          \"__typename\": \"ProductVariant\",\n          \"id\": \"gid://shopify/ProductVariant/1099\",\n          \"title\": \"Something not bundled\"\n        }\n      },\n      {\n        \"id\": \"gid://shopify/CartLine/2\",\n        \"quantity\": 5,\n        \"merchandise\": {\n          \"__typename\": \"ProductVariant\",\n          \"id\": \"gid://shopify/ProductVariant/456\",\n          \"title\": \"Something cool in bundle\",\n          \"component_parents\": {\n            \"value\": \"[{\\\"id\\\":\\\"gid://shopify/ProductVariant/123\\\",\\\"component_reference\\\":{\\\"value\\\":[\\\"gid://shopify/ProductVariant/456\\\",\\\"gid://shopify/ProductVariant/789\\\"]},\\\"component_quantities\\\":{\\\"value\\\":[2,3]},\\\"price_adjustment\\\":{\\\"value\\\":10.5}}]\"\n          }\n        }\n      },\n      {\n        \"id\": \"gid://shopify/CartLine/3\",\n        \"quantity\": 9,\n        \"merchandise\": {\n          \"__typename\": \"ProductVariant\",\n          \"id\": \"gid://shopify/ProductVariant/789\",\n          \"title\": \"Something also cool in bundle\",\n          \"component_parents\": {\n            \"value\": \"[{\\\"id\\\":\\\"gid://shopify/ProductVariant/123\\\",\\\"component_reference\\\":{\\\"value\\\":[\\\"gid://shopify/ProductVariant/456\\\",\\\"gid://shopify/ProductVariant/789\\\"]},\\\"component_quantities\\\":{\\\"value\\\":[2,3]},\\\"price_adjustment\\\":{\\\"value\\\":10.5}}]\"\n          }\n        }\n      },\n      {\n        \"id\": \"gid://shopify/CartLine/4\",\n        \"quantity\": 9,\n        \"merchandise\": {\n          \"__typename\": \"ProductVariant\",\n          \"id\": \"gid://shopify/ProductVariant/1111\",\n          \"title\": \"A neat bundle\",\n          \"component_reference\": {\n            \"value\": \"[\\\"gid://shopify/ProductVariant/111\\\",\\\"gid://shopify/ProductVariant/222\\\"]\"\n          },\n          \"component_quantities\": {\n            \"value\": \"[2,3]\"\n          },\n          \"price_adjustment\": {\n            \"value\": \"10.5\"\n          }\n        }\n      },\n      {\n        \"id\": \"gid://shopify/CartLine/5\",\n        \"quantity\": 5,\n        \"merchandise\": {\n          \"__typename\": \"ProductVariant\",\n          \"id\": \"gid://shopify/ProductVariant/456\",\n          \"title\": \"Something cool in bundle\",\n          \"component_parents\": {\n            \"value\": \"[{\\\"id\\\":\\\"gid://shopify/ProductVariant/123\\\",\\\"component_reference\\\":{\\\"value\\\":[\\\"gid://shopify/ProductVariant/456\\\",\\\"gid://shopify/ProductVariant/789\\\"]},\\\"component_quantities\\\":{\\\"value\\\":[2,3]},\\\"price_adjustment\\\":{\\\"value\\\":10.5}}]\"\n          }\n        }\n      },\n      {\n        \"id\": \"gid://shopify/CartLine/6\",\n        \"quantity\": 9,\n        \"merchandise\": {\n          \"__typename\": \"ProductVariant\",\n          \"id\": \"gid://shopify/ProductVariant/789\",\n          \"title\": \"Something also cool in bundle\",\n          \"component_parents\": {\n            \"value\": \"[{\\\"id\\\":\\\"gid://shopify/ProductVariant/123\\\",\\\"component_reference\\\":{\\\"value\\\":[\\\"gid://shopify/ProductVariant/456\\\",\\\"gid://shopify/ProductVariant/789\\\"]},\\\"component_quantities\\\":{\\\"value\\\":[2,3]},\\\"price_adjustment\\\":{\\\"value\\\":10.5}}]\"\n          }\n        }\n      },\n      {\n        \"id\": \"gid://shopify/CartLine/7\",\n        \"quantity\": 2,\n        \"merchandise\": {\n          \"__typename\": \"ProductVariant\",\n          \"id\": \"gid://shopify/ProductVariant/131415\",\n          \"title\": \"Shared Bundle Component\",\n          \"component_parents\": {\n            \"value\": \"[{\\\"id\\\":\\\"gid://shopify/ProductVariant/101112\\\",\\\"component_reference\\\":{\\\"value\\\":[\\\"gid://shopify/ProductVariant/131415\\\",\\\"gid://shopify/ProductVariant/161718\\\"]},\\\"component_quantities\\\":{\\\"value\\\":[1,1]}}, {\\\"id\\\":\\\"gid://shopify/ProductVariant/192021\\\",\\\"component_reference\\\":{\\\"value\\\":[\\\"gid://shopify/ProductVariant/131415\\\",\\\"gid://shopify/ProductVariant/222324\\\"]},\\\"component_quantities\\\":{\\\"value\\\":[1,1]}}]\"\n          }\n        }\n      },\n      {\n        \"id\": \"gid://shopify/CartLine/8\",\n        \"quantity\": 1,\n        \"merchandise\": {\n          \"__typename\": \"ProductVariant\",\n          \"id\": \"gid://shopify/ProductVariant/161718\",\n          \"title\": \"Bundle Component\",\n          \"component_parents\": {\n            \"value\": \"[{\\\"id\\\":\\\"gid://shopify/ProductVariant/101112\\\",\\\"component_reference\\\":{\\\"value\\\":[\\\"gid://shopify/ProductVariant/131415\\\",\\\"gid://shopify/ProductVariant/161718\\\"]},\\\"component_quantities\\\":{\\\"value\\\":[1,1]}}]\"\n          }\n        }\n      },\n      {\n        \"id\": \"gid://shopify/CartLine/9\",\n        \"quantity\": 1,\n        \"merchandise\": {\n          \"__typename\": \"ProductVariant\",\n          \"id\": \"gid://shopify/ProductVariant/222324\",\n          \"title\": \"Bundle Component\",\n          \"component_parents\": {\n            \"value\": \"[{\\\"id\\\":\\\"gid://shopify/ProductVariant/192021\\\",\\\"component_reference\\\":{\\\"value\\\":[\\\"gid://shopify/ProductVariant/131415\\\",\\\"gid://shopify/ProductVariant/222324\\\"]},\\\"component_quantities\\\":{\\\"value\\\":[1,1]}}]\"\n          }\n        }\n      }\n    ]\n  }\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-merge-expand_rust/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-merge-expand_rust/shopify.extension.toml",
    "content": "\napi_version = \"2024-04\"\n\n[[extensions]]\nname = \"cart merge expand\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/bundle_cart_transform.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-merge-expand_rust/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-merge-expand_rust/src/run.graphql",
    "content": "query Input {\n  cart {\n    lines {\n      id\n      quantity\n      merchandise {\n        __typename\n        ... on ProductVariant {\n          id\n          component_parents: metafield(\n            namespace: \"custom\"\n            key: \"component_parents\"\n          ) {\n            value\n          }\n          component_reference: metafield(\n            namespace: \"custom\"\n            key: \"component_reference\"\n          ) {\n            value\n          }\n          component_quantities: metafield(\n            namespace: \"custom\"\n            key: \"component_quantities\"\n          ) {\n            value\n          }\n          price_adjustment: metafield(\n            namespace: \"custom\"\n            key: \"price_adjustment\"\n          ) {\n            value\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/extensions/cart-merge-expand_rust/src/run.rs",
    "content": "use run::input::InputCart as Cart;\nuse run::input::InputCartLines as CartLine;\nuse run::input::InputCartLinesMerchandise::ProductVariant;\nuse run::input::InputCartLinesMerchandiseOnProductVariant;\nuse run::output::*;\nuse serde::Deserialize;\nuse shopify_function::prelude::*;\nuse shopify_function::Result;\nuse std::collections::HashMap;\n\n#[derive(Clone, Debug, PartialEq)]\nstruct ComponentParent {\n    pub id: ID,\n    pub component_reference: Vec<ID>,\n    pub component_quantities: Vec<i64>,\n    pub price_adjustment: Option<f64>,\n}\n\n#[derive(Clone, Debug, Deserialize)]\npub struct ComponentParentMetafield {\n    pub id: ID,\n    pub component_reference: ComponentParentMetafieldReference,\n    pub component_quantities: ComponentParentMetafieldQuantities,\n    pub price_adjustment: Option<ComponentParentMetafieldPriceAdjustment>,\n}\n\n#[derive(Clone, Debug, Deserialize)]\npub struct ComponentParentMetafieldReference {\n    pub value: Vec<String>,\n}\n\n#[derive(Clone, Debug, Deserialize)]\npub struct ComponentParentMetafieldQuantities {\n    pub value: Vec<i64>,\n}\n\n#[derive(Clone, Debug, Deserialize)]\npub struct ComponentParentMetafieldPriceAdjustment {\n    pub value: f64,\n}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let cart_operations: Vec<CartOperation> = get_merge_cart_operations(&input.cart)\n        .chain(get_expand_cart_operations(&input.cart))\n        .collect();\n\n    Ok(output::FunctionRunResult {\n        operations: cart_operations,\n    })\n}\n\n// merge operation logic\n\nfn get_merge_cart_operations(cart: &Cart) -> impl Iterator<Item = CartOperation> + '_ {\n    let merge_parent_defintions = get_merge_parent_definitions(cart);\n\n    let mut cart_lines: Vec<CartLine> = Vec::new();\n    cart.lines\n        .iter()\n        .for_each(|line| cart_lines.push(line.clone()));\n\n    merge_parent_defintions\n        .into_iter()\n        .filter_map(move |definition| {\n            let components_in_cart = get_components_in_cart(&mut cart_lines, &definition);\n            (components_in_cart.len() == definition.component_reference.len()).then(|| {\n                let cart_lines: Vec<CartLineInput> = components_in_cart\n                    .into_iter()\n                    .map(|component| CartLineInput {\n                        cart_line_id: component.cart_line_id,\n                        quantity: component.quantity,\n                    })\n                    .collect();\n\n                let price = definition\n                    .price_adjustment\n                    .map(|price_adjustment| PriceAdjustment {\n                        percentage_decrease: Some(PriceAdjustmentValue {\n                            value: Decimal(price_adjustment),\n                        }),\n                    });\n\n                let merge_operation = MergeOperation {\n                    parent_variant_id: definition.id,\n                    title: None,\n                    cart_lines,\n                    image: None,\n                    price,\n                    attributes: None,\n                };\n\n                CartOperation::Merge(merge_operation)\n            })\n        })\n}\n\nfn get_components_in_cart(\n    cart_lines: &mut Vec<CartLine>,\n    definition: &ComponentParent,\n) -> Vec<CartLineInput> {\n    let line_results: Vec<CartLineInput> = definition\n        .component_reference\n        .iter()\n        .zip(definition.component_quantities.iter())\n        .filter_map(|(reference, &quantity)| {\n          cart_lines.iter().find_map(move |line| {\n                matches!(\n                    &line.merchandise,\n                    ProductVariant(merchandise) if reference == &merchandise.id && line.quantity >= quantity,\n                ).then(|| CartLineInput { cart_line_id: line.id.clone(), quantity })\n            })\n        })\n        .collect();\n\n    update_cart_lines_from_function_result(cart_lines, line_results.clone());\n\n    line_results\n}\n\nfn update_cart_lines_from_function_result(\n    cart_lines: &mut Vec<CartLine>,\n    line_results: Vec<CartLineInput>,\n) {\n    let mut cart_line_tracker: HashMap<String, i64> = cart_lines\n        .iter()\n        .map(|cart_line| (cart_line.id.clone(), cart_line.quantity))\n        .collect();\n\n    for line_result in line_results.iter() {\n        if let Some(target_cart_line) = cart_lines\n            .iter()\n            .find(|cart_line| cart_line.id == line_result.cart_line_id)\n        {\n            let new_quantity = cart_line_tracker[&target_cart_line.id] - line_result.quantity;\n            cart_line_tracker.insert(target_cart_line.id.clone(), new_quantity);\n        }\n    }\n\n    cart_lines.retain(|line| cart_line_tracker[&line.id] > 0);\n\n    for cart_line in cart_lines.iter_mut() {\n        if cart_line_tracker[&cart_line.id] > 0 {\n            cart_line.quantity = cart_line_tracker[&cart_line.id];\n        }\n    }\n}\n\nfn get_merge_parent_definitions(cart: &Cart) -> Vec<ComponentParent> {\n    let mut merge_parent_defintions: Vec<ComponentParent> = Vec::new();\n\n    for line in cart.lines.iter() {\n        if let ProductVariant(merchandise) = &line.merchandise {\n            merge_parent_defintions.extend(get_component_parents(merchandise));\n        }\n    }\n\n    merge_parent_defintions\n}\n\nfn get_component_parents(\n    variant: &InputCartLinesMerchandiseOnProductVariant,\n) -> impl Iterator<Item = ComponentParent> {\n    variant\n        .component_parents\n        .as_ref()\n        .map(|component_parents_metafield| {\n            let value: Vec<ComponentParentMetafield> =\n                serde_json::from_str(&component_parents_metafield.value).unwrap();\n            value.into_iter().map(|parent_definition| {\n                let price = parent_definition\n                    .price_adjustment\n                    .as_ref()\n                    .map(|price_adjustment| price_adjustment.value);\n\n                ComponentParent {\n                    id: parent_definition.id,\n                    component_reference: parent_definition.component_reference.value,\n                    component_quantities: parent_definition.component_quantities.value,\n                    price_adjustment: price,\n                }\n            })\n        })\n        .into_iter()\n        .flatten()\n}\n\n// expand operation logic\n\nfn get_expand_cart_operations(cart: &Cart) -> impl Iterator<Item = CartOperation> + '_ {\n    cart.lines.iter().filter_map(|line| {\n        if let ProductVariant(merchandise) = &line.merchandise {\n            let component_references: Vec<ID> = get_component_references(merchandise);\n            let component_quantities: Vec<i64> = get_component_quantities(merchandise);\n\n            if component_references.is_empty()\n                || component_references.len() != component_quantities.len()\n            {\n                None\n            } else {\n                let expand_relationships: Vec<ExpandedItem> = component_references\n                    .into_iter()\n                    .zip(component_quantities.iter())\n                    .map(|(reference, &quantity)| ExpandedItem {\n                        merchandise_id: reference,\n                        quantity,\n                        price: None,\n                        attributes: None,\n                    })\n                    .collect();\n\n                let price = get_price_adjustment(merchandise);\n\n                CartOperation::Expand(ExpandOperation {\n                    cart_line_id: line.id.clone(),\n                    expanded_cart_items: expand_relationships,\n                    price,\n                    image: None,\n                    title: None,\n                })\n                .into()\n            }\n        } else {\n            None\n        }\n    })\n}\n\nfn get_component_quantities(variant: &InputCartLinesMerchandiseOnProductVariant) -> Vec<i64> {\n    if let Some(component_quantities_metafield) = &variant.component_quantities {\n        serde_json::from_str(&component_quantities_metafield.value).unwrap()\n    } else {\n        Vec::new()\n    }\n}\n\nfn get_component_references(variant: &InputCartLinesMerchandiseOnProductVariant) -> Vec<ID> {\n    if let Some(component_reference_metafield) = &variant.component_reference {\n        serde_json::from_str(&component_reference_metafield.value).unwrap()\n    } else {\n        Vec::new()\n    }\n}\n\nfn get_price_adjustment(\n    variant: &InputCartLinesMerchandiseOnProductVariant,\n) -> Option<PriceAdjustment> {\n    variant\n        .price_adjustment\n        .as_ref()\n        .map(|price_adjustment| PriceAdjustment {\n            percentage_decrease: Some(PriceAdjustmentValue {\n                value: Decimal(price_adjustment.value.parse().unwrap()),\n            }),\n        })\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/package.json",
    "content": "{\n  \"name\": \"bundles-cart-transform\",\n  \"version\": \"1.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"shopify\",\n    \"build\": \"shopify app build\",\n    \"dev\": \"shopify app dev\",\n    \"push\": \"shopify app push\",\n    \"generate\": \"shopify app generate\",\n    \"deploy\": \"shopify app deploy\",\n    \"info\": \"shopify app info\"\n  },\n  \"dependencies\": {\n    \"@shopify/app\": \"3.41.1\",\n    \"@shopify/cli\": \"3.41.1\"\n  },\n  \"author\": \"ryanworkman\"\n}"
  },
  {
    "path": "sample-apps/bundles-cart-transform/resources/component_parents_schema.json",
    "content": "{\n  \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n  \"title\": \"Bundle component parents\",\n  \"description\": \"A definition of the bundle a child belongs to\",\n  \"type\": \"array\",\n  \"items\": {\n    \"type\": \"object\",\n    \"properties\": {\n      \"id\": {\n        \"description\": \"ID of bundle parent product variant: gid://shopify/ProductVariant/<id number>\",\n        \"type\": \"string\"\n      },\n      \"component_reference\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"value\": {\n            \"description\": \"Array of product variant IDs: [gid://shopify/ProductVariant/<id number>]\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"string\"\n            },\n            \"minItems\": 1,\n            \"uniqueItems\": true\n          }\n        },\n        \"required\": [ \"value\" ]\n      },\n      \"component_quantities\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"value\": {\n            \"description\": \"Array of quantities of product variants defined in component_reference: [1]\",\n            \"type\": \"array\",\n            \"items\": {\n              \"type\": \"integer\"\n            },\n            \"minItems\": 1\n          }\n        },\n        \"required\": [ \"value\" ]\n      }\n    },\n    \"required\": [\n      \"id\",\n      \"component_reference\",\n      \"component_quantities\"\n    ]\n  }\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/shopify.app.toml",
    "content": "# This file stores configurations for your Shopify app.\n\nscopes = \"write_products\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/.gitignore",
    "content": "# See https://help.github.com/articles/ignoring-files for more about ignoring files.\n#\n# If you find yourself ignoring temporary files generated by your text editor\n# or operating system, you probably want to add a global ignore instead:\n#   git config --global core.excludesfile '~/.gitignore_global'\n\n# Ignore bundler config.\n/.bundle\n\n# Ignore the default SQLite database.\n/db/*.sqlite3\n/db/*.sqlite3-*\n\n# Ignore all logfiles and tempfiles.\n/log/*\n/tmp/*\n!/log/.keep\n!/tmp/.keep\n\n# Ignore pidfiles, but keep the directory.\n/tmp/pids/*\n!/tmp/pids/\n!/tmp/pids/.keep\n\n# Ignore uploaded files in development.\n/storage/*\n!/storage/.keep\n/tmp/storage/*\n!/tmp/storage/\n!/tmp/storage/.keep\n\n/public/assets\n/public/api/assets\n/public/dist/index.html\n\n# Ignore master key for decrypting credentials and more.\n/config/master.key\n/config/credentials.yml.enc\n\nGemfile.lock\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/Gemfile",
    "content": "# frozen_string_literal: true\n\nsource \"https://rubygems.org\"\ngit_source(:github) { |repo| \"https://github.com/#{repo}.git\" }\n\nruby \"~> 3.1\"\n\n# Bundle edge Rails instead: gem \"rails\", github: \"rails/rails\", branch: \"main\"\ngem \"rails\", \"~> 7.0.3\"\n\n# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]\ngem \"sprockets-rails\"\n\n# Use sqlite3 as the database for Active Record\ngem \"sqlite3\", \"~> 1.4\"\n\n# Use the Puma web server [https://github.com/puma/puma]\ngem \"puma\", \"~> 5.0\"\n\n# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]\ngem \"importmap-rails\"\n\n# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]\ngem \"turbo-rails\"\n\n# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]\ngem \"stimulus-rails\"\n\n# Build JSON APIs with ease [https://github.com/rails/jbuilder]\ngem \"jbuilder\"\n\n# Use Redis adapter to run Action Cable in production\ngem \"redis\", \"~> 4.0\"\n\n# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]\n# gem \"kredis\"\n\n# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]\n# gem \"bcrypt\", \"~> 3.1.7\"\n\ngem \"tzinfo-data\"\n\n# Reduces boot times through caching; required in config/boot.rb\ngem \"bootsnap\", require: false\n\n# Use Sass to process CSS\n# gem \"sassc-rails\"\n\n# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]\n# gem \"image_processing\", \"~> 1.2\"\n\ngroup :development, :test do\n  # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem\n  gem \"debug\", platforms: [:mri, :mingw, :x64_mingw]\nend\n\ngroup :development do\n  # Use console on exceptions pages [https://github.com/rails/web-console]\n  gem \"web-console\"\n\n  # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]\n  # gem \"rack-mini-profiler\"\n\n  # Speed up commands on slow machines / big apps [https://github.com/rails/spring]\n  # gem \"spring\"\n\n  gem \"rubocop\"\n  gem \"rubocop-shopify\"\nend\n\ngroup :test do\n  # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]\n  gem \"capybara\"\n  gem \"selenium-webdriver\"\n  gem \"webdrivers\"\nend\n\ngem \"shopify_app\", \"~> 21.4\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/Rakefile",
    "content": "# frozen_string_literal: true\n\n# Add your own tasks in files placed in lib/tasks ending in .rake,\n# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.\n\nrequire_relative \"config/application\"\n\nRails.application.load_tasks\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/assets/config/manifest.js",
    "content": "//= link_tree ../images\n//= link_directory ../stylesheets .css\n//= link_tree ../../javascript .js\n//= link_tree ../../../vendor/javascript .js\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/assets/images/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/assets/stylesheets/application.css",
    "content": "/*\n * This is a manifest file that'll be compiled into application.css, which will include all the files\n * listed below.\n *\n * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's\n * vendor/assets/stylesheets directory can be referenced here using a relative path.\n *\n * You're free to add application-wide styles to this file and they'll appear at the bottom of the\n * compiled file so the styles you add here take precedence over styles defined in any other CSS\n * files in this directory. Styles in this file should be added after the last require_* statement.\n * It is generally better to create a new file per style scope.\n *\n *= require_tree .\n *= require_self\n */\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/channels/application_cable/channel.rb",
    "content": "# frozen_string_literal: true\n\nmodule ApplicationCable\n  class Channel < ActionCable::Channel::Base\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/channels/application_cable/connection.rb",
    "content": "# frozen_string_literal: true\n\nmodule ApplicationCable\n  class Connection < ActionCable::Connection::Base\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/controllers/application_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass ApplicationController < ActionController::Base\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/controllers/authenticated_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass AuthenticatedController < ApplicationController\n  include ShopifyApp::EnsureHasSession\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/controllers/concerns/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/controllers/home_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass HomeController < ApplicationController\n  include ShopifyApp::EmbeddedApp\n  include ShopifyApp::EnsureInstalled\n  include ShopifyApp::ShopAccessScopesVerification\n\n  DEV_INDEX_PATH = Rails.root.join(\"frontend\")\n  PROD_INDEX_PATH = Rails.public_path.join(\"dist\")\n\n  def index\n    if ShopifyAPI::Context.embedded? && (!params[:embedded].present? || params[:embedded] != \"1\")\n      redirect_to(ShopifyAPI::Auth.embedded_app_url(params[:host]), allow_other_host: true)\n    else\n      contents = File.read(File.join(Rails.env.production? ? PROD_INDEX_PATH : DEV_INDEX_PATH, \"index.html\"))\n\n      render(plain: contents, content_type: \"text/html\", layout: false)\n    end\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/controllers/products_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass ProductsController < AuthenticatedController\n  def count\n    render(json: ShopifyAPI::Product.count.body)\n  end\n\n  def create\n    ProductCreator.call(count: 5)\n\n    success = true\n    error = nil\n    status_code = 200\n  rescue => e\n    success = false\n    error = e.message\n    status_code = e.is_a?(ShopifyAPI::Errors::HttpResponseError) ? e.code : 500\n\n    logger.info(\"Failed to create products: #{error}\")\n  ensure\n    render(json: { success: success, error: error }, status: status_code)\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/helpers/application_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule ApplicationHelper\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/javascript/application.js",
    "content": "// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails\nimport \"@hotwired/turbo-rails\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/javascript/lib/flash_messages.js",
    "content": "var eventName = typeof(Turbolinks) !== 'undefined' ? 'turbolinks:load' : 'DOMContentLoaded';\n\nif (!document.documentElement.hasAttribute(\"data-turbolinks-preview\")) {\n  document.addEventListener(eventName, function flash() {\n    var flashData = JSON.parse(document.getElementById('shopify-app-flash').dataset.flash);\n\n    var Toast = window['app-bridge'].actions.Toast;\n\n    if (flashData.notice) {\n      Toast.create(app, {\n        message: flashData.notice,\n        duration: 5000,\n      }).dispatch(Toast.Action.SHOW);\n    }\n\n    if (flashData.error) {\n      Toast.create(app, {\n        message: flashData.error,\n        duration: 5000,\n        isError: true,\n      }).dispatch(Toast.Action.SHOW);\n    }\n  });\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/javascript/lib/shopify_app.js",
    "content": "var data = document.getElementById('shopify-app-init').dataset;\nvar AppBridge = window['app-bridge'];\nvar createApp = AppBridge.default;\nwindow.app = createApp({\n  apiKey: data.apiKey,\n  host: data.host,\n});\n\nvar actions = AppBridge.actions;\nvar TitleBar = actions.TitleBar;\nTitleBar.create(app, {\n  title: data.page,\n});\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/jobs/app_uninstalled_job.rb",
    "content": "# frozen_string_literal: true\n\nclass AppUninstalledJob < ActiveJob::Base\n  extend ShopifyAPI::Webhooks::Handler\n\n  class << self\n    def handle(topic:, shop:, body:)\n      perform_later(topic: topic, shop_domain: shop, webhook: body)\n    end\n  end\n\n  def perform(topic:, shop_domain:, webhook:)\n    shop = Shop.find_by(shopify_domain: shop_domain)\n\n    if shop.nil?\n      logger.error(\"#{self.class} failed: cannot find shop with domain '#{shop_domain}'\")\n      return\n    end\n\n    logger.info(\"#{self.class} started for shop '#{shop_domain}'\")\n    shop.destroy\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/jobs/application_job.rb",
    "content": "# frozen_string_literal: true\n\nclass ApplicationJob < ActiveJob::Base\n  # Automatically retry jobs that encountered a deadlock\n  # retry_on ActiveRecord::Deadlocked\n\n  # Most jobs are safe to ignore if the underlying records are no longer available\n  # discard_on ActiveJob::DeserializationError\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/jobs/customers_data_request_job.rb",
    "content": "# frozen_string_literal: true\n\nclass CustomersDataRequestJob < ActiveJob::Base\n  extend ShopifyAPI::Webhooks::Handler\n\n  class << self\n    def handle(topic:, shop:, body:)\n      perform_later(topic: topic, shop_domain: shop, webhook: body)\n    end\n  end\n\n  def perform(topic:, shop_domain:, webhook:)\n    shop = Shop.find_by(shopify_domain: shop_domain)\n\n    if shop.nil?\n      logger.error(\"#{self.class} failed: cannot find shop with domain '#{shop_domain}'\")\n      return\n    end\n\n    shop.with_shopify_session do\n      logger.info(\"#{self.class} started for shop '#{shop_domain}'\")\n    end\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/jobs/customers_redact_job.rb",
    "content": "# frozen_string_literal: true\n\nclass CustomersRedactJob < ActiveJob::Base\n  extend ShopifyAPI::Webhooks::Handler\n\n  class << self\n    def handle(topic:, shop:, body:)\n      perform_later(topic: topic, shop_domain: shop, webhook: body)\n    end\n  end\n\n  def perform(topic:, shop_domain:, webhook:)\n    shop = Shop.find_by(shopify_domain: shop_domain)\n\n    if shop.nil?\n      logger.error(\"#{self.class} failed: cannot find shop with domain '#{shop_domain}'\")\n      return\n    end\n\n    shop.with_shopify_session do\n    end\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/jobs/shop_redact_job.rb",
    "content": "# frozen_string_literal: true\n\nclass ShopRedactJob < ActiveJob::Base\n  extend ShopifyAPI::Webhooks::Handler\n\n  class << self\n    def handle(topic:, shop:, body:)\n      perform_later(topic: topic, shop_domain: shop, webhook: body)\n    end\n  end\n\n  def perform(topic:, shop_domain:, webhook:)\n    shop = Shop.find_by(shopify_domain: shop_domain)\n\n    if shop.nil?\n      logger.error(\"#{self.class} failed: cannot find shop with domain '#{shop_domain}'\")\n      return\n    end\n\n    shop.with_shopify_session do\n    end\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/jobs/shopify/after_authenticate_job.rb",
    "content": "# frozen_string_literal: true\n\nmodule Shopify\n  class AfterAuthenticateJob < ActiveJob::Base\n    def perform(shop_domain:)\n      shop = Shop.find_by(shopify_domain: shop_domain)\n\n      # Need to put this check after we can confirm the app_uninstalled webhook is working\n      # and deleting the shop record.\n      # return if shop.registered\n\n      cart_transform_id = BuildCommands.new(shop).install_function\n      shop.update!(registered: true) if cart_transform_id.present?\n    end\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/mailers/application_mailer.rb",
    "content": "# frozen_string_literal: true\n\nclass ApplicationMailer < ActionMailer::Base\n  default from: \"from@example.com\"\n  layout \"mailer\"\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/models/application_record.rb",
    "content": "# frozen_string_literal: true\n\nclass ApplicationRecord < ActiveRecord::Base\n  primary_abstract_class\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/models/build_commands.rb",
    "content": "# frozen_string_literal: true\n\nclass BuildCommands\n  attr_reader :shop\n\n  def initialize(shop)\n    @shop = shop\n  end\n\n  # we have to store the function value, so that we can later use it to destroy the function if needed\n  def install_function\n    shop.with_shopify_session do\n      client = ShopifyAPI::Clients::Graphql::Admin.new(\n        session: ShopifyAPI::Context.active_session,\n        api_version: \"unstable\",\n      )\n      query = <<~QUERY\n        mutation cartTransformCreate($functionId: String!) {\n          cartTransformCreate(functionId: $functionId) {\n            cartTransform {\n              functionId\n              id\n            }\n            userErrors {\n              field\n              message\n            }\n          }\n        }\n      QUERY\n      function_id = ENV[\"SHOPIFY_CART_MERGE_EXPAND_ID\"]\n      variables = {\n        \"functionId\" => function_id,\n      }\n      Rails.logger.info(\"Installing function with id #{function_id}\")\n      result = client.query(query: query, variables: variables)\n      cart_transform_id = result.body.dig(\"data\", \"cartTransformCreate\", \"cartTransform\", \"id\")\n\n      if cart_transform_id.nil?\n        user_errors = result.body.dig(\"data\", \"cartTransformCreate\", \"userErrors\")\n        Rails.logger.error(\"Error installing function with id #{function_id}: #{user_errors}\")\n        nil\n      else\n        cart_transform_id\n      end\n    end\n  end\n\n  def destroy_function(cart_transform_id)\n    shop.with_shopify_session do\n      client = ShopifyAPI::Clients::Graphql::Admin.new(\n        session: ShopifyAPI::Context.active_session,\n        api_version: \"unstable\",\n      )\n      query = <<~QUERY\n        mutation cartTransformDelete($id: ID!) {\n          cartTransformDelete(id: $id) {\n            deletedId\n            userErrors {\n              field\n              message\n            }\n          }\n        }\n      QUERY\n      variables = {\n        id: cart_transform_id,\n      }\n      result = client.query(query: query, variables: variables)\n      cart_transform_id = result.body.dig(\"data\", \"cartTransformDelete\", \"deletedId\")\n\n      return cart_transform_id unless cart_transform_id.nil?\n\n      result.body(\"userErrors\")\n    end\n  end\n\n  def products\n    shop.with_shopify_session do\n      client = ShopifyAPI::Clients::Graphql::Admin.new(session: ShopifyAPI::Context.active_session)\n      query = <<~QUERY\n        {\n          products(first: 10) {\n            edges {\n              cursor\n              node {\n                id\n                title\n                onlineStoreUrl\n              }\n            }\n          }\n        }\n      QUERY\n      client.query(query: query)\n    end\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/models/concerns/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/models/shop.rb",
    "content": "# frozen_string_literal: true\n\nclass Shop < ActiveRecord::Base\n  include ShopifyApp::ShopSessionStorageWithScopes\n\n  def api_version\n    ShopifyApp.configuration.api_version\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/services/application_service.rb",
    "content": "# frozen_string_literal: true\n\nclass ApplicationService\n  class << self\n    def call(*args, **kwargs, &block)\n      new(*args, **kwargs, &block).call\n    end\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/services/product_creator.rb",
    "content": "# frozen_string_literal: true\n\nclass ProductCreator < ApplicationService\n  attr_reader :count\n\n  CREATE_PRODUCTS_MUTATION = <<~'QUERY'\n    mutation populateProduct($input: ProductInput!) {\n      productCreate(input: $input) {\n        product {\n          id\n        }\n      }\n    }\n  QUERY\n\n  def initialize(count:, session: ShopifyAPI::Context.active_session)\n    super()\n    @count = count\n    @session = session\n  end\n\n  def call\n    client = ShopifyAPI::Clients::Graphql::Admin.new(session: @session)\n\n    (1..count).each do |_i|\n      client.query(\n        query: CREATE_PRODUCTS_MUTATION,\n        variables: {\n          input: {\n            title: random_title,\n            variants: [{ price: random_price }],\n          },\n        },\n      )\n    end\n  end\n\n  private\n\n  def random_title\n    adjective = ADJECTIVES[rand(ADJECTIVES.size)]\n    noun = NOUNS[rand(NOUNS.size)]\n\n    \"#{adjective} #{noun}\"\n  end\n\n  def random_price\n    (100.0 + rand(1000)) / 100\n  end\n\n  ADJECTIVES = [\n    \"autumn\",\n    \"hidden\",\n    \"bitter\",\n    \"misty\",\n    \"silent\",\n    \"empty\",\n    \"dry\",\n    \"dark\",\n    \"summer\",\n    \"icy\",\n    \"delicate\",\n    \"quiet\",\n    \"white\",\n    \"cool\",\n    \"spring\",\n    \"winter\",\n    \"patient\",\n    \"twilight\",\n    \"dawn\",\n    \"crimson\",\n    \"wispy\",\n    \"weathered\",\n    \"blue\",\n    \"billowing\",\n    \"broken\",\n    \"cold\",\n    \"damp\",\n    \"falling\",\n    \"frosty\",\n    \"green\",\n    \"long\",\n  ]\n\n  NOUNS = [\n    \"waterfall\",\n    \"river\",\n    \"breeze\",\n    \"moon\",\n    \"rain\",\n    \"wind\",\n    \"sea\",\n    \"morning\",\n    \"snow\",\n    \"lake\",\n    \"sunset\",\n    \"pine\",\n    \"shadow\",\n    \"leaf\",\n    \"dawn\",\n    \"glitter\",\n    \"forest\",\n    \"hill\",\n    \"cloud\",\n    \"meadow\",\n    \"sun\",\n    \"glade\",\n    \"bird\",\n    \"brook\",\n    \"butterfly\",\n    \"bush\",\n    \"dew\",\n    \"dust\",\n    \"field\",\n    \"fire\",\n    \"flower\",\n  ]\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/views/layouts/_flash_messages.html.erb",
    "content": "<% content_for :javascript do %>\n  <%= content_tag(:div, nil, id: 'shopify-app-flash', data: { flash: { notice: flash[:notice], error: flash[:error] } }) %>\n<% end %>\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/views/layouts/application.html.erb",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <title>ShopifyAppTemplateRuby</title>\n    <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n    <%= csrf_meta_tags %>\n    <%= csp_meta_tag %>\n\n    <%= stylesheet_link_tag \"application\", \"data-turbo-track\": \"reload\" %>\n    <%= javascript_importmap_tags %>\n  </head>\n\n  <body>\n    <%= yield %>\n  </body>\n</html>\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/views/layouts/embedded_app.html.erb",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <% application_name = ShopifyApp.configuration.application_name %>\n    <title><%= application_name %></title>\n    <%= stylesheet_link_tag 'application' %>\n    <% if ShopifyApp.use_webpacker? %>\n      <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>\n    <% elsif ShopifyApp.use_importmap? %>\n      <%= javascript_importmap_tags %>\n    <% else %>\n      <%= javascript_include_tag 'application', \"data-turbolinks-track\" => true %>\n    <% end %>\n    <%= csrf_meta_tags %>\n  </head>\n\n  <body>\n    <div class=\"app-wrapper\">\n      <div class=\"app-content\">\n        <main role=\"main\">\n          <%= yield %>\n        </main>\n      </div>\n    </div>\n\n    <%= render 'layouts/flash_messages' %>\n\n    <script src=\"https://unpkg.com/@shopify/app-bridge@2\"></script>\n\n    <%= content_tag(:div, nil, id: 'shopify-app-init', data: {\n      api_key: ShopifyApp.configuration.api_key,\n      shop_origin: @shop_origin || (@current_shopify_session.shop if @current_shopify_session),\n      host: @host,\n      debug: Rails.env.development?\n    } ) %>\n\n    <% if content_for?(:javascript) %>\n      <div id=\"ContentForJavascript\" data-turbolinks-temporary>\n        <%= yield :javascript %>\n      </div>\n    <% end %>\n  </body>\n</html>\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/views/layouts/mailer.html.erb",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <style>\n      /* Email styles need to be inline */\n    </style>\n  </head>\n\n  <body>\n    <%= yield %>\n  </body>\n</html>\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/app/views/layouts/mailer.text.erb",
    "content": "<%= yield %>\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/bin/bundle",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n\n#\n# This file was generated by Bundler.\n#\n# The application 'bundle' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"rubygems\"\n\nm = Module.new do\n  module_function\n\n  def invoked_as_script?\n    File.expand_path($0) == File.expand_path(__FILE__)\n  end\n\n  def env_var_version\n    ENV[\"BUNDLER_VERSION\"]\n  end\n\n  def cli_arg_version\n    return unless invoked_as_script? # don't want to hijack other binstubs\n    return unless \"update\".start_with?(ARGV.first || \" \") # must be running `bundle update`\n    bundler_version = nil\n    update_index = nil\n    ARGV.each_with_index do |a, i|\n      if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN\n        bundler_version = a\n      end\n      next unless a =~ /\\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\\z/\n      bundler_version = $1\n      update_index = i\n    end\n    bundler_version\n  end\n\n  def gemfile\n    gemfile = ENV[\"BUNDLE_GEMFILE\"]\n    return gemfile if gemfile && !gemfile.empty?\n\n    File.expand_path(\"../Gemfile\", __dir__)\n  end\n\n  def lockfile\n    lockfile =\n      case File.basename(gemfile)\n      when \"gems.rb\" then gemfile.sub(/\\.rb$/, gemfile)\n      else \"#{gemfile}.lock\"\n      end\n    File.expand_path(lockfile)\n  end\n\n  def lockfile_version\n    return unless File.file?(lockfile)\n    lockfile_contents = File.read(lockfile)\n    return unless lockfile_contents =~ /\\n\\nBUNDLED WITH\\n\\s{2,}(#{Gem::Version::VERSION_PATTERN})\\n/\n    Regexp.last_match(1)\n  end\n\n  def bundler_requirement\n    @bundler_requirement ||=\n      env_var_version || cli_arg_version ||\n        bundler_requirement_for(lockfile_version)\n  end\n\n  def bundler_requirement_for(version)\n    return \"#{Gem::Requirement.default}.a\" unless version\n\n    bundler_gem_version = Gem::Version.new(version)\n\n    requirement = bundler_gem_version.approximate_recommendation\n\n    return requirement unless Gem.rubygems_version < Gem::Version.new(\"2.7.0\")\n\n    requirement += \".a\" if bundler_gem_version.prerelease?\n\n    requirement\n  end\n\n  def load_bundler!\n    ENV[\"BUNDLE_GEMFILE\"] ||= gemfile\n\n    activate_bundler\n  end\n\n  def activate_bundler\n    gem_error = activation_error_handling do\n      gem \"bundler\", bundler_requirement\n    end\n    return if gem_error.nil?\n    require_error = activation_error_handling do\n      require \"bundler/version\"\n    end\n    return if require_error.nil? && Gem::Requirement.new(bundler_requirement).satisfied_by?(Gem::Version.new(Bundler::VERSION))\n    warn \"Activating bundler (#{bundler_requirement}) failed:\\n#{gem_error.message}\\n\\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_requirement}'`\"\n    exit 42\n  end\n\n  def activation_error_handling\n    yield\n    nil\n  rescue StandardError, LoadError => e\n    e\n  end\nend\n\nm.load_bundler!\n\nif m.invoked_as_script?\n  load Gem.bin_path(\"bundler\", \"bundle\")\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/bin/importmap",
    "content": "#!/usr/bin/env ruby\n\nrequire_relative \"../config/application\"\nrequire \"importmap/commands\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/bin/rails",
    "content": "#!/usr/bin/env ruby\nAPP_PATH = File.expand_path(\"../config/application\", __dir__)\nrequire_relative \"../config/boot\"\nrequire \"rails/commands\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/bin/rake",
    "content": "#!/usr/bin/env ruby\nrequire_relative \"../config/boot\"\nrequire \"rake\"\nRake.application.run\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/bin/setup",
    "content": "#!/usr/bin/env ruby\nrequire \"fileutils\"\n\n# path to your application root.\nAPP_ROOT = File.expand_path(\"..\", __dir__)\n\ndef system!(*args)\n  system(*args) || abort(\"\\n== Command #{args} failed ==\")\nend\n\nFileUtils.chdir APP_ROOT do\n  # This script is a way to set up or update your development environment automatically.\n  # This script is idempotent, so that you can run it at any time and get an expectable outcome.\n  # Add necessary setup steps to this file.\n\n  puts \"== Installing dependencies ==\"\n  system! \"gem install bundler --conservative\"\n  system(\"bundle check\") || system!(\"bundle install\")\n\n  # puts \"\\n== Copying sample files ==\"\n  # unless File.exist?(\"config/database.yml\")\n  #   FileUtils.cp \"config/database.yml.sample\", \"config/database.yml\"\n  # end\n\n  puts \"\\n== Preparing database ==\"\n  system! \"bin/rails db:prepare\"\n\n  puts \"\\n== Removing old logs and tempfiles ==\"\n  system! \"bin/rails log:clear tmp:clear\"\n\n  puts \"\\n== Restarting application server ==\"\n  system! \"bin/rails restart\"\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/application.rb",
    "content": "# frozen_string_literal: true\n\nrequire_relative \"boot\"\n\nrequire \"rails/all\"\n\n# Require the gems listed in Gemfile, including any gems\n# you've limited to :test, :development, or :production.\nBundler.require(*Rails.groups)\n\nmodule ShopifyAppTemplateRuby\n  class Application < Rails::Application\n    # Initialize configuration defaults for originally generated Rails version.\n    config.load_defaults(7.0)\n\n    config.assets.prefix = \"/api/assets\"\n\n    # Configuration for the application, engines, and railties goes here.\n    #\n    # These settings can be overridden in specific environments using the files\n    # in config/environments, which are processed later.\n    #\n    # config.time_zone = \"Central Time (US & Canada)\"\n    # config.eager_load_paths << Rails.root.join(\"extras\")\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/boot.rb",
    "content": "# frozen_string_literal: true\n\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../Gemfile\", __dir__)\nENV[\"HOST\"] = \"https://#{ENV[\"HOST\"]}\" unless ENV[\"HOST\"]&.match(%r{https?://})\n\nrequire \"bundler/setup\" # Set up gems listed in the Gemfile.\nrequire \"bootsnap/setup\" # Speed up boot time by caching expensive operations.\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/cable.yml",
    "content": "development:\n  adapter: redis\n  url: redis://localhost:6379/1\n\ntest:\n  adapter: test\n\nproduction:\n  adapter: redis\n  url: <%= ENV.fetch(\"REDIS_URL\") { \"redis://localhost:6379/1\" } %>\n  channel_prefix: shopify_app_template_ruby_production\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/database.yml",
    "content": "# SQLite. Versions 3.8.0 and up are supported.\n#   gem install sqlite3\n#\n#   Ensure the SQLite 3 gem is defined in your Gemfile\n#   gem \"sqlite3\"\n#\ndefault: &default\n  adapter: sqlite3\n  pool: <%= ENV.fetch(\"RAILS_MAX_THREADS\") { 5 } %>\n  timeout: 5000\n\ndevelopment:\n  <<: *default\n  database: db/development.sqlite3\n\n# Warning: The database defined as \"test\" will be erased and\n# re-generated from your development database when you run \"rake\".\n# Do not set this db to the same as development or production.\ntest:\n  <<: *default\n  database: db/test.sqlite3\n\nproduction:\n  <<: *default\n  database: db/production.sqlite3\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/environment.rb",
    "content": "# frozen_string_literal: true\n\n# Load the Rails application.\nrequire_relative \"application\"\n\n# Initialize the Rails application.\nRails.application.initialize!\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/environments/development.rb",
    "content": "# frozen_string_literal: true\n\nrequire \"active_support/core_ext/integer/time\"\n\nRails.application.configure do\n  config.hosts = begin\n    config.hosts\n  rescue\n    []\n  end << /[-\\w.]+\\.ngrok\\.io/\n\n  config.hosts << URI(ENV.fetch(\"HOST\", \"\")).host if ENV.fetch(\"HOST\", \"\").present?\n  # Settings specified here will take precedence over those in config/application.rb.\n\n  # In the development environment your application's code is reloaded any time\n  # it changes. This slows down response time but is perfect for development\n  # since you don't have to restart the web server when you make code changes.\n  config.cache_classes = false\n\n  # Do not eager load code on boot.\n  config.eager_load = false\n\n  # Show full error reports.\n  config.consider_all_requests_local = true\n\n  # Enable server timing\n  config.server_timing = true\n\n  # Enable/disable caching. By default caching is disabled.\n  # Run rails dev:cache to toggle caching.\n  if Rails.root.join(\"tmp/caching-dev.txt\").exist?\n    config.action_controller.perform_caching = true\n    config.action_controller.enable_fragment_cache_logging = true\n\n    config.cache_store = :memory_store\n    config.public_file_server.headers = {\n      \"Cache-Control\" => \"public, max-age=#{2.days.to_i}\",\n    }\n  else\n    config.action_controller.perform_caching = false\n\n    config.cache_store = :null_store\n  end\n\n  # Store uploaded files on the local file system (see config/storage.yml for options).\n  config.active_storage.service = :local\n\n  # Don't care if the mailer can't send.\n  config.action_mailer.raise_delivery_errors = false\n\n  config.action_mailer.perform_caching = false\n\n  # Print deprecation notices to the Rails logger.\n  config.active_support.deprecation = :log\n\n  # Raise exceptions for disallowed deprecations.\n  config.active_support.disallowed_deprecation = :raise\n\n  # Tell Active Support which deprecation messages to disallow.\n  config.active_support.disallowed_deprecation_warnings = []\n\n  # Raise an error on page load if there are pending migrations.\n  config.active_record.migration_error = :page_load\n\n  # Highlight code that triggered database queries in logs.\n  config.active_record.verbose_query_logs = true\n\n  # Suppress logger output for asset requests.\n  config.assets.quiet = true\n\n  # Raises error for missing translations.\n  # config.i18n.raise_on_missing_translations = true\n\n  # Annotate rendered view with file names.\n  # config.action_view.annotate_rendered_view_with_filenames = true\n\n  # Uncomment if you wish to allow Action Cable access from any origin.\n  # config.action_cable.disable_request_forgery_protection = true\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/environments/production.rb",
    "content": "# frozen_string_literal: true\n\nrequire \"active_support/core_ext/integer/time\"\n\nRails.application.configure do\n  # Settings specified here will take precedence over those in config/application.rb.\n\n  # Code is not reloaded between requests.\n  config.cache_classes = true\n\n  # Eager load code on boot. This eager loads most of Rails and\n  # your application in memory, allowing both threaded web servers\n  # and those relying on copy on write to perform better.\n  # Rake tasks automatically ignore this option for performance.\n  config.eager_load = true\n\n  # Full error reports are disabled and caching is turned on.\n  config.consider_all_requests_local       = false\n  config.action_controller.perform_caching = true\n\n  # Ensures that a master key has been made available in either ENV[\"RAILS_MASTER_KEY\"]\n  # or in config/master.key. This key is used to decrypt credentials (and other encrypted files).\n  # config.require_master_key = true\n\n  # Disable serving static files from the `/public` folder by default since\n  # Apache or NGINX already handles this.\n  config.public_file_server.enabled = ENV[\"RAILS_SERVE_STATIC_FILES\"].present?\n\n  # Compress CSS using a preprocessor.\n  # config.assets.css_compressor = :sass\n\n  # Do not fallback to assets pipeline if a precompiled asset is missed.\n  config.assets.compile = false\n\n  # Enable serving of images, stylesheets, and JavaScripts from an asset server.\n  # config.asset_host = \"http://assets.example.com\"\n\n  # Specifies the header that your server uses for sending files.\n  # config.action_dispatch.x_sendfile_header = \"X-Sendfile\" # for Apache\n  # config.action_dispatch.x_sendfile_header = \"X-Accel-Redirect\" # for NGINX\n\n  # Store uploaded files on the local file system (see config/storage.yml for options).\n  config.active_storage.service = :local\n\n  # Mount Action Cable outside main process or domain.\n  # config.action_cable.mount_path = nil\n  # config.action_cable.url = \"wss://example.com/cable\"\n  # config.action_cable.allowed_request_origins = [ \"http://example.com\", /http:\\/\\/example.*/ ]\n\n  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.\n  # config.force_ssl = true\n\n  # Include generic and useful information about system operation, but avoid logging too much\n  # information to avoid inadvertent exposure of personally identifiable information (PII).\n  config.log_level = :info\n\n  # Prepend all log lines with the following tags.\n  config.log_tags = [:request_id]\n\n  # Use a different cache store in production.\n  # config.cache_store = :mem_cache_store\n\n  # Use a real queuing backend for Active Job (and separate queues per environment).\n  # config.active_job.queue_adapter     = :resque\n  # config.active_job.queue_name_prefix = \"shopify_app_template_ruby_production\"\n\n  config.action_mailer.perform_caching = false\n\n  # Ignore bad email addresses and do not raise email delivery errors.\n  # Set this to true and configure the email server for immediate delivery to raise delivery errors.\n  # config.action_mailer.raise_delivery_errors = false\n\n  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to\n  # the I18n.default_locale when a translation cannot be found).\n  config.i18n.fallbacks = true\n\n  # Don't log any deprecations.\n  config.active_support.report_deprecations = false\n\n  # Use default logging formatter so that PID and timestamp are not suppressed.\n  config.log_formatter = Logger::Formatter.new\n\n  # Use a different logger for distributed setups.\n  # require \"syslog/logger\"\n  # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new \"app-name\")\n\n  if ENV[\"RAILS_LOG_TO_STDOUT\"].present?\n    logger           = ActiveSupport::Logger.new($stdout)\n    logger.formatter = config.log_formatter\n    config.logger    = ActiveSupport::TaggedLogging.new(logger)\n  end\n\n  # Do not dump schema after migrations.\n  config.active_record.dump_schema_after_migration = false\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/environments/test.rb",
    "content": "# frozen_string_literal: true\n\nrequire \"active_support/core_ext/integer/time\"\n\n# The test environment is used exclusively to run your application's\n# test suite. You never need to work with it otherwise. Remember that\n# your test database is \"scratch space\" for the test suite and is wiped\n# and recreated between test runs. Don't rely on the data there!\n\nRails.application.configure do\n  # Settings specified here will take precedence over those in config/application.rb.\n\n  # Turn false under Spring and add config.action_view.cache_template_loading = true.\n  config.cache_classes = true\n\n  # Eager loading loads your whole application. When running a single test locally,\n  # this probably isn't necessary. It's a good idea to do in a continuous integration\n  # system, or in some way before deploying your code.\n  config.eager_load = ENV[\"CI\"].present?\n\n  # Configure public file server for tests with Cache-Control for performance.\n  config.public_file_server.enabled = true\n  config.public_file_server.headers = {\n    \"Cache-Control\" => \"public, max-age=#{1.hour.to_i}\",\n  }\n\n  # Show full error reports and disable caching.\n  config.consider_all_requests_local       = true\n  config.action_controller.perform_caching = false\n  config.cache_store = :null_store\n\n  # Raise exceptions instead of rendering exception templates.\n  config.action_dispatch.show_exceptions = false\n\n  # Disable request forgery protection in test environment.\n  config.action_controller.allow_forgery_protection = false\n\n  # Store uploaded files on the local file system in a temporary directory.\n  config.active_storage.service = :test\n\n  config.action_mailer.perform_caching = false\n\n  # Tell Action Mailer not to deliver emails to the real world.\n  # The :test delivery method accumulates sent emails in the\n  # ActionMailer::Base.deliveries array.\n  config.action_mailer.delivery_method = :test\n\n  # Print deprecation notices to the stderr.\n  config.active_support.deprecation = :stderr\n\n  # Raise exceptions for disallowed deprecations.\n  config.active_support.disallowed_deprecation = :raise\n\n  # Tell Active Support which deprecation messages to disallow.\n  config.active_support.disallowed_deprecation_warnings = []\n\n  # Raises error for missing translations.\n  # config.i18n.raise_on_missing_translations = true\n\n  # Annotate rendered view with file names.\n  # config.action_view.annotate_rendered_view_with_filenames = true\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/importmap.rb",
    "content": "# frozen_string_literal: true\n\n# Pin npm packages by running ./bin/importmap\n\npin \"application\", preload: true\npin \"@hotwired/turbo-rails\", to: \"turbo.min.js\", preload: true\npin_all_from \"app/javascript/lib\", under: \"lib\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/initializers/assets.rb",
    "content": "# frozen_string_literal: true\n\n# Be sure to restart your server when you modify this file.\n\n# Version of your assets, change this if you want to expire all your assets.\nRails.application.config.assets.version = \"1.0\"\n\n# Add additional assets to the asset load path.\n# Rails.application.config.assets.paths << Emoji.images_path\n\n# Precompile additional assets.\n# application.js, application.css, and all non-JS/CSS in the app/assets\n# folder are already added.\n# Rails.application.config.assets.precompile += %w( admin.js admin.css )\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/initializers/content_security_policy.rb",
    "content": "# frozen_string_literal: true\n# Be sure to restart your server when you modify this file.\n\n# Define an application-wide content security policy.\n# See the Securing Rails Applications Guide for more information:\n# https://guides.rubyonrails.org/security.html#content-security-policy-header\n\n# Rails.application.configure do\n#   config.content_security_policy do |policy|\n#     policy.default_src :self, :https\n#     policy.font_src    :self, :https, :data\n#     policy.img_src     :self, :https, :data\n#     policy.object_src  :none\n#     policy.script_src  :self, :https\n#     policy.style_src   :self, :https\n#     # Specify URI for violation reports\n#     # policy.report_uri \"/csp-violation-report-endpoint\"\n#   end\n#\n#   # Generate session nonces for permitted importmap and inline scripts\n#   config.content_security_policy_nonce_generator = ->(request) { request.session.id.to_s }\n#   config.content_security_policy_nonce_directives = %w(script-src)\n#\n#   # Report violations without enforcing the policy.\n#   # config.content_security_policy_report_only = true\n# end\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/initializers/filter_parameter_logging.rb",
    "content": "# frozen_string_literal: true\n\n# Be sure to restart your server when you modify this file.\n\n# Configure parameters to be filtered from the log file. Use this to limit dissemination of\n# sensitive information. See the ActiveSupport::ParameterFilter documentation for supported\n# notations and behaviors.\nRails.application.config.filter_parameters += [\n  :passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn,\n]\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/initializers/inflections.rb",
    "content": "# frozen_string_literal: true\n# Be sure to restart your server when you modify this file.\n\n# Add new inflection rules using the following format. Inflections\n# are locale specific, and you may define rules for as many different\n# locales as you wish. All of these examples are active by default:\n# ActiveSupport::Inflector.inflections(:en) do |inflect|\n#   inflect.plural /^(ox)$/i, \"\\\\1en\"\n#   inflect.singular /^(ox)en/i, \"\\\\1\"\n#   inflect.irregular \"person\", \"people\"\n#   inflect.uncountable %w( fish sheep )\n# end\n\n# These inflection rules are supported but not enabled by default:\n# ActiveSupport::Inflector.inflections(:en) do |inflect|\n#   inflect.acronym \"RESTful\"\n# end\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/initializers/permissions_policy.rb",
    "content": "# frozen_string_literal: true\n# Define an application-wide HTTP permissions policy. For further\n# information see https://developers.google.com/web/updates/2018/06/feature-policy\n#\n# Rails.application.config.permissions_policy do |f|\n#   f.camera      :none\n#   f.gyroscope   :none\n#   f.microphone  :none\n#   f.usb         :none\n#   f.fullscreen  :self\n#   f.payment     :self, \"https://secure.example.com\"\n# end\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/initializers/session_store.rb",
    "content": "# frozen_string_literal: true\n\n# Be sure to restart your server when you modify this file.\n\nRails.application.config.session_store(:cookie_store, key: \"_example_session\", expire_after: 14.days)\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/initializers/shopify_app.rb",
    "content": "# frozen_string_literal: true\n\nShopifyApp.configure do |config|\n  config.webhooks = [\n    # After a store owner uninstalls your app, Shopify invokes the APP_UNINSTALLED webhook\n    # to let your app know.\n    { topic: \"app/uninstalled\", address: \"api/webhooks/app_uninstalled\" },\n  ]\n  config.application_name = \"My Shopify App\"\n  config.old_secret = \"\"\n  config.scope = ENV.fetch(\"SCOPES\", \"write_products\") # See shopify.app.toml for scopes\n  # Consult this page for more scope options: https://shopify.dev/api/usage/access-scopes\n  config.embedded_app = true\n  config.after_authenticate_job = { job: \"Shopify::AfterAuthenticateJob\", inline: false }\n  config.api_version = ShopifyAPI::AdminVersions::LATEST_SUPPORTED_ADMIN_VERSION\n  config.shop_session_repository = \"Shop\"\n\n  config.reauth_on_access_scope_changes = true\n\n  config.root_url = \"/api\"\n  config.login_url = \"/api/auth\"\n  config.login_callback_url = \"/api/auth/callback\"\n  config.embedded_redirect_url = \"/ExitIframe\"\n\n  # You may want to charge merchants for using your app. Setting the billing configuration will cause the Authenticated\n  # controller concern to check that the session is for a merchant that has an active one-time payment or subscription.\n  # If no payment is found, it starts off the process and sends the merchant to a confirmation URL so that they can\n  # approve the purchase.\n  #\n  # Learn more about billing in our documentation: https://shopify.dev/apps/billing\n  # config.billing = ShopifyApp::BillingConfiguration.new(\n  #   charge_name: \"My app billing charge\",\n  #   amount: 5,\n  #   interval: ShopifyApp::BillingConfiguration::INTERVAL_ANNUAL,\n  #   currency_code: \"USD\", # Only supports USD for now\n  # )\n\n  config.api_key = ENV.fetch(\"SHOPIFY_API_KEY\", \"\").presence\n  config.secret = ENV.fetch(\"SHOPIFY_API_SECRET\", \"\").presence\n  config.myshopify_domain = ENV.fetch(\"SHOP_CUSTOM_DOMAIN\", \"\").presence if ENV.fetch(\"SHOP_CUSTOM_DOMAIN\", \"\").present?\n\n  if defined? Rails::Server\n    raise(\"Missing SHOPIFY_API_KEY. See https://github.com/Shopify/shopify_app#requirements\") unless config.api_key\n    raise(\"Missing SHOPIFY_API_SECRET. See https://github.com/Shopify/shopify_app#requirements\") unless config.secret\n  end\nend\n\nRails.application.config.after_initialize do\n  if ShopifyApp.configuration.api_key.present? && ShopifyApp.configuration.secret.present?\n    ShopifyAPI::Context.setup(\n      api_key: ShopifyApp.configuration.api_key,\n      api_secret_key: ShopifyApp.configuration.secret,\n      api_version: ShopifyApp.configuration.api_version,\n      host_name: URI(ENV.fetch(\"HOST\", \"\")).host || \"\",\n      scope: ShopifyApp.configuration.scope,\n      is_private: !ENV.fetch(\"SHOPIFY_APP_PRIVATE_SHOP\", \"\").empty?,\n      is_embedded: ShopifyApp.configuration.embedded_app,\n      logger: Rails.logger,\n      log_level: :info,\n      private_shop: ENV.fetch(\"SHOPIFY_APP_PRIVATE_SHOP\", nil),\n      user_agent_prefix: \"ShopifyApp/#{ShopifyApp::VERSION}\",\n    )\n\n    add_privacy_webhooks\n    ShopifyApp::WebhooksManager.add_registrations\n  end\nend\n\ndef add_privacy_webhooks\n  privacy_webhooks = [\n    # NOTE: To register the URLs for the three privacy topics that follow, please set the appropriate\n    # webhook endpoint in the 'privacy webhooks' section of 'App setup' in the Partners Dashboard.\n    # The code that processes these webhooks is located in the `app/jobs` directory.\n    #\n    # 48 hours after a store owner uninstalls your app, Shopify invokes this SHOP_REDACT webhook.\n    # https://shopify.dev/apps/webhooks/configuration/mandatory-webhooks#shop-redact\n    { topic: \"shop/redact\", address: \"api/webhooks/shop_redact\" },\n\n    # Store owners can request that data is deleted on behalf of a customer. When this happens,\n    # Shopify invokes this CUSTOMERS_REDACT webhook to let your app know.\n    # https://shopify.dev/apps/webhooks/configuration/mandatory-webhooks#customers-redact\n    { topic: \"customers/redact\", address: \"api/webhooks/customers_redact\" },\n\n    # Customers can request their data from a store owner. When this happens, Shopify invokes\n    # this CUSTOMERS_DATA_REQUEST webhook to let your app know.\n    # https://shopify.dev/apps/webhooks/configuration/mandatory-webhooks#customers-data_request\n    { topic: \"customers/data_request\", address: \"api/webhooks/customers_data_request\" },\n  ]\n\n  ShopifyApp.configuration.webhooks = if ShopifyApp.configuration.has_webhooks?\n    ShopifyApp.configuration.webhooks.concat(privacy_webhooks)\n  else\n    privacy_webhooks\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/locales/en.yml",
    "content": "# Files in the config/locales directory are used for internationalization\n# and are automatically loaded by Rails. If you want to use locales other\n# than English, add the necessary files in this directory.\n#\n# To use the locales, use `I18n.t`:\n#\n#     I18n.t \"hello\"\n#\n# In views, this is aliased to just `t`:\n#\n#     <%= t(\"hello\") %>\n#\n# To use a different locale, set it with `I18n.locale`:\n#\n#     I18n.locale = :es\n#\n# This would use the information in config/locales/es.yml.\n#\n# The following keys must be escaped otherwise they will not be retrieved by\n# the default I18n backend:\n#\n# true, false, on, off, yes, no\n#\n# Instead, surround them with single quotes.\n#\n# en:\n#   \"true\": \"foo\"\n#\n# To learn more, please read the Rails Internationalization guide\n# available at https://guides.rubyonrails.org/i18n.html.\n\nen:\n  hello: \"Hello world\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/puma.rb",
    "content": "# frozen_string_literal: true\n\n# Puma can serve each request in a thread from an internal thread pool.\n# The `threads` method setting takes two numbers: a minimum and maximum.\n# Any libraries that use thread pools should be configured to match\n# the maximum value specified for Puma. Default is set to 5 threads for minimum\n# and maximum; this matches the default thread size of Active Record.\n#\nmax_threads_count = ENV.fetch(\"RAILS_MAX_THREADS\") { 5 }\nmin_threads_count = ENV.fetch(\"RAILS_MIN_THREADS\") { max_threads_count }\nthreads min_threads_count, max_threads_count\n\n# Specifies the `worker_timeout` threshold that Puma will use to wait before\n# terminating a worker in development environments.\n#\nworker_timeout 3600 if ENV.fetch(\"RAILS_ENV\", \"development\") == \"development\"\n\n# Specifies the `port` that Puma will listen on to receive requests; default is 3000.\n#\nport ENV.fetch(\"PORT\") { 3000 }\n\n# Specifies the `environment` that Puma will run in.\n#\nenvironment ENV.fetch(\"RAILS_ENV\") { \"development\" }\n\n# Specifies the `pidfile` that Puma will use.\npidfile ENV.fetch(\"PIDFILE\") { \"tmp/pids/server.pid\" }\n\n# Specifies the number of `workers` to boot in clustered mode.\n# Workers are forked web server processes. If using threads and workers together\n# the concurrency of the application would be max `threads` * `workers`.\n# Workers do not work on JRuby or Windows (both of which do not support\n# processes).\n#\n# workers ENV.fetch(\"WEB_CONCURRENCY\") { 2 }\n\n# Use the `preload_app!` method when specifying a `workers` number.\n# This directive tells Puma to first boot the application and load code\n# before forking the application. This takes advantage of Copy On Write\n# process behavior so workers use less memory.\n#\n# preload_app!\n\n# Allow puma to be restarted by `bin/rails restart` command.\nplugin :tmp_restart\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/routes.rb",
    "content": "# frozen_string_literal: true\n\nRails.application.routes.draw do\n  root to: \"home#index\"\n\n  mount ShopifyApp::Engine, at: \"/api\"\n  get \"/api\", to: redirect(path: \"/\") # Needed because our engine root is /api but that breaks FE routing\n\n  # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html\n\n  get \"/api/products/count\", to: \"products#count\"\n  get \"/api/products/create\", to: \"products#create\"\n\n  # Any other routes will just render the react app\n  match \"*path\" => \"home#index\", via: [:get, :post]\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config/storage.yml",
    "content": "test:\n  service: Disk\n  root: <%= Rails.root.join(\"tmp/storage\") %>\n\nlocal:\n  service: Disk\n  root: <%= Rails.root.join(\"storage\") %>\n\n# Use bin/rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)\n# amazon:\n#   service: S3\n#   access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>\n#   secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>\n#   region: us-east-1\n#   bucket: your_own_bucket-<%= Rails.env %>\n\n# Remember not to checkin your GCS keyfile to a repository\n# google:\n#   service: GCS\n#   project: your_project\n#   credentials: <%= Rails.root.join(\"path/to/gcs.keyfile\") %>\n#   bucket: your_own_bucket-<%= Rails.env %>\n\n# Use bin/rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key)\n# microsoft:\n#   service: AzureStorage\n#   storage_account_name: your_account_name\n#   storage_access_key: <%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %>\n#   container: your_container_name-<%= Rails.env %>\n\n# mirror:\n#   service: Mirror\n#   primary: local\n#   mirrors: [ amazon, google, microsoft ]\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/config.ru",
    "content": "# frozen_string_literal: true\n\n# This file is used by Rack-based servers to start the application.\n\nrequire_relative \"config/environment\"\n\nrun Rails.application\nRails.application.load_server\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/db/migrate/20220609125627_create_shops.rb",
    "content": "class CreateShops < ActiveRecord::Migration[7.0]\n  def self.up\n    create_table :shops  do |t|\n      t.string :shopify_domain, null: false\n      t.string :shopify_token, null: false\n      t.timestamps\n    end\n\n    add_index :shops, :shopify_domain, unique: true\n  end\n\n  def self.down\n    drop_table :shops\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/db/migrate/20220609125631_add_shop_access_scopes_column.rb",
    "content": "class AddShopAccessScopesColumn < ActiveRecord::Migration[7.0]\n  def change\n    add_column :shops, :access_scopes, :string\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/db/migrate/20230201144826_add_registered_to_shops.rb",
    "content": "# frozen_string_literal: true\n\nclass AddRegisteredToShops < ActiveRecord::Migration[7.0]\n  def change\n    add_column(:shops, :registered, :boolean, default: false, null: false)\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/db/schema.rb",
    "content": "# This file is auto-generated from the current state of the database. Instead\n# of editing this file, please use the migrations feature of Active Record to\n# incrementally modify your database, and then regenerate this schema definition.\n#\n# This file is the source Rails uses to define your schema when running `bin/rails\n# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to\n# be faster and is potentially less error prone than running all of your\n# migrations from scratch. Old migrations may fail to apply correctly if those\n# migrations use external dependencies or application code.\n#\n# It's strongly recommended that you check this file into your version control system.\n\nActiveRecord::Schema[7.0].define(version: 2023_02_01_144826) do\n  create_table \"shops\", force: :cascade do |t|\n    t.string \"shopify_domain\", null: false\n    t.string \"shopify_token\", null: false\n    t.datetime \"created_at\", null: false\n    t.datetime \"updated_at\", null: false\n    t.string \"access_scopes\"\n    t.boolean \"registered\", default: false, null: false\n    t.index [\"shopify_domain\"], name: \"index_shops_on_shopify_domain\", unique: true\n  end\n\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/db/seeds.rb",
    "content": "# This file should contain all the record creation needed to seed the database with its default values.\n# The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).\n#\n# Examples:\n#\n#   movies = Movie.create([{ name: \"Star Wars\" }, { name: \"Lord of the Rings\" }])\n#   Character.create(name: \"Luke\", movie: movies.first)\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/.gitignore",
    "content": "# Dependency directory\nnode_modules\n\n# Ignore Apple macOS Desktop Services Store\n.DS_Store\n\n# Logs\nlogs\n*.log\n\n# vite build output\ndist/\n\n# Partners can use npm, yarn or pnpm with the CLI.\n# We ignore lock files so they don't get a package manager mis-match\n# Without this, they may get a warning if using a different package manager to us\nyarn.lock\npackage-lock.json\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/App.jsx",
    "content": "import { BrowserRouter } from \"react-router-dom\";\nimport { NavigationMenu } from \"@shopify/app-bridge-react\";\nimport Routes from \"./Routes\";\n\nimport {\n  AppBridgeProvider,\n  QueryProvider,\n  PolarisProvider,\n} from \"./components\";\n\nexport default function App() {\n  // Any .tsx or .jsx files in /pages will become a route\n  // See documentation for <Routes /> for more info\n  const pages = import.meta.globEager(\"./pages/**/!(*.test.[jt]sx)*.([jt]sx)\");\n\n  return (\n    <PolarisProvider>\n      <BrowserRouter>\n        <AppBridgeProvider>\n          <QueryProvider>\n            <NavigationMenu\n              navigationLinks={[\n                {\n                  label: \"README\",\n                  destination: \"/readme\",\n                },\n              ]}\n            />\n            <Routes pages={pages} />\n          </QueryProvider>\n        </AppBridgeProvider>\n      </BrowserRouter>\n    </PolarisProvider>\n  );\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/README.md",
    "content": "# Shopify React Frontend App\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE.md)\n\nThis repository is the frontend for Shopify’s app starter templates. **You probably don’t want to use this repository directly**, but rather through one of the templates and the [Shopify CLI](https://github.com/Shopify/shopify-cli).\n\n## Developer resources\n\n- [Introduction to Shopify apps](https://shopify.dev/apps/getting-started)\n  - [App authentication](https://shopify.dev/apps/auth)\n- [Shopify CLI command reference](https://shopify.dev/apps/tools/cli/app)\n- [Shopify API Library documentation](https://github.com/Shopify/shopify-node-api/tree/main/docs)\n\n## License\n\nThis repository is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/Routes.jsx",
    "content": "import { Routes as ReactRouterRoutes, Route } from \"react-router-dom\";\n\n/**\n * File-based routing.\n * @desc File-based routing that uses React Router under the hood.\n * To create a new route create a new .jsx file in `/pages` with a default export.\n *\n * Some examples:\n * * `/pages/index.jsx` matches `/`\n * * `/pages/blog/[id].jsx` matches `/blog/123`\n * * `/pages/[...catchAll].jsx` matches any URL not explicitly matched\n *\n * @param {object} pages value of import.meta.globEager(). See https://vitejs.dev/guide/features.html#glob-import\n *\n * @return {Routes} `<Routes/>` from React Router, with a `<Route/>` for each file in `pages`\n */\nexport default function Routes({ pages }) {\n  const routes = useRoutes(pages);\n  const routeComponents = routes.map(({ path, component: Component }) => (\n    <Route key={path} path={path} element={<Component />} />\n  ));\n  return (\n    <ReactRouterRoutes>\n      {routeComponents}\n    </ReactRouterRoutes>\n  );\n}\n\nfunction useRoutes(pages) {\n  const routes = Object.keys(pages)\n    .map((key) => {\n      let path = key\n        .replace(\"./pages\", \"\")\n        .replace(/\\.(t|j)sx?$/, \"\")\n        /**\n         * Replace /index with /\n         */\n        .replace(/\\/index$/i, \"/\")\n        /**\n         * Only lowercase the first letter. This allows the developer to use camelCase\n         * dynamic paths while ensuring their standard routes are normalized to lowercase.\n         */\n        .replace(/\\b[A-Z]/, (firstLetter) => firstLetter.toLowerCase())\n        /**\n         * Convert /[handle].jsx and /[...handle].jsx to /:handle.jsx for react-router-dom\n         */\n        .replace(/\\[(?:[.]{3})?(\\w+?)\\]/g, (_match, param) => `:${param}`);\n\n      if (path.endsWith(\"/\") && path !== \"/\") {\n        path = path.substring(0, path.length - 1);\n      }\n\n      if (!pages[key].default) {\n        console.warn(`${key} doesn't export a default React component`);\n      }\n\n      return {\n        path,\n        component: pages[key].default,\n      };\n    })\n    .filter((route) => route.component);\n\n  return routes;\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/assets/index.js",
    "content": "export { default as notFoundImage } from \"./empty-state.svg\";\nexport { default as trophyImage } from \"./home-trophy.png\";\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/components/ProductsCard.jsx",
    "content": "import { useState } from \"react\";\nimport {\n  Card,\n  Heading,\n  TextContainer,\n  DisplayText,\n  TextStyle,\n} from \"@shopify/polaris\";\nimport { Toast } from \"@shopify/app-bridge-react\";\nimport { useAppQuery, useAuthenticatedFetch } from \"../hooks\";\n\nexport function ProductsCard() {\n  const emptyToastProps = { content: null };\n  const [isLoading, setIsLoading] = useState(true);\n  const [toastProps, setToastProps] = useState(emptyToastProps);\n  const fetch = useAuthenticatedFetch();\n\n  const {\n    data,\n    refetch: refetchProductCount,\n    isLoading: isLoadingCount,\n    isRefetching: isRefetchingCount,\n  } = useAppQuery({\n    url: \"/api/products/count\",\n    reactQueryOptions: {\n      onSuccess: () => {\n        setIsLoading(false);\n      },\n    },\n  });\n\n  const toastMarkup = toastProps.content && !isRefetchingCount && (\n    <Toast {...toastProps} onDismiss={() => setToastProps(emptyToastProps)} />\n  );\n\n  const handlePopulate = async () => {\n    setIsLoading(true);\n    const response = await fetch(\"/api/products/create\");\n\n    if (response.ok) {\n      await refetchProductCount();\n      setToastProps({ content: \"5 products created!\" });\n    } else {\n      setIsLoading(false);\n      setToastProps({\n        content: \"There was an error creating products\",\n        error: true,\n      });\n    }\n  };\n\n  return (\n    <>\n      {toastMarkup}\n      <Card\n        title=\"Product Counter\"\n        sectioned\n        primaryFooterAction={{\n          content: \"Populate 5 products\",\n          onAction: handlePopulate,\n          loading: isLoading,\n        }}\n      >\n        <TextContainer spacing=\"loose\">\n          <p>\n            Sample products are created with a default title and price. You can\n            remove them at any time.\n          </p>\n          <Heading element=\"h4\">\n            TOTAL PRODUCTS\n            <DisplayText size=\"medium\">\n              <TextStyle variation=\"strong\">\n                {isLoadingCount ? \"-\" : data.count}\n              </TextStyle>\n            </DisplayText>\n          </Heading>\n        </TextContainer>\n      </Card>\n    </>\n  );\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/components/index.js",
    "content": "export { ProductsCard } from \"./ProductsCard\";\nexport * from \"./providers\";\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/components/providers/AppBridgeProvider.jsx",
    "content": "import { useMemo, useState } from \"react\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport { Provider } from \"@shopify/app-bridge-react\";\nimport { Banner, Layout, Page } from \"@shopify/polaris\";\n\n/**\n * A component to configure App Bridge.\n * @desc A thin wrapper around AppBridgeProvider that provides the following capabilities:\n *\n * 1. Ensures that navigating inside the app updates the host URL.\n * 2. Configures the App Bridge Provider, which unlocks functionality provided by the host.\n *\n * See: https://shopify.dev/apps/tools/app-bridge/react-components\n */\nexport function AppBridgeProvider({ children }) {\n  const location = useLocation();\n  const navigate = useNavigate();\n  const history = useMemo(\n    () => ({\n      replace: (path) => {\n        navigate(path, { replace: true });\n      },\n    }),\n    [navigate]\n  );\n\n  const routerConfig = useMemo(\n    () => ({ history, location }),\n    [history, location]\n  );\n\n  // The host may be present initially, but later removed by navigation.\n  // By caching this in state, we ensure that the host is never lost.\n  // During the lifecycle of an app, these values should never be updated anyway.\n  // Using state in this way is preferable to useMemo.\n  // See: https://stackoverflow.com/questions/60482318/version-of-usememo-for-caching-a-value-that-will-never-change\n  const [appBridgeConfig] = useState(() => {\n    const host =\n      new URLSearchParams(location.search).get(\"host\") ||\n      window.__SHOPIFY_DEV_HOST;\n\n    window.__SHOPIFY_DEV_HOST = host;\n\n    return {\n      host,\n      apiKey: process.env.SHOPIFY_API_KEY,\n      forceRedirect: true,\n    };\n  });\n\n  if (!process.env.SHOPIFY_API_KEY || !appBridgeConfig.host) {\n    const bannerProps = !process.env.SHOPIFY_API_KEY\n      ? {\n          title: \"Missing Shopify API Key\",\n          children: (\n            <>\n              Your app is running without the SHOPIFY_API_KEY environment\n              variable. Please ensure that it is set when running or building\n              your React app.\n            </>\n          ),\n        }\n      : {\n          title: \"Missing host query argument\",\n          children: (\n            <>\n              Your app can only load if the URL has a <b>host</b> argument.\n              Please ensure that it is set, or access your app using the\n              Partners Dashboard <b>Test your app</b> feature\n            </>\n          ),\n        };\n\n    return (\n      <Page narrowWidth>\n        <Layout>\n          <Layout.Section>\n            <div style={{ marginTop: \"100px\" }}>\n              <Banner {...bannerProps} status=\"critical\" />\n            </div>\n          </Layout.Section>\n        </Layout>\n      </Page>\n    );\n  }\n\n  return (\n    <Provider config={appBridgeConfig} router={routerConfig}>\n      {children}\n    </Provider>\n  );\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/components/providers/PolarisProvider.jsx",
    "content": "import { useCallback } from \"react\";\nimport { AppProvider } from \"@shopify/polaris\";\nimport { useNavigate } from \"@shopify/app-bridge-react\";\nimport translations from \"@shopify/polaris/locales/en.json\";\nimport \"@shopify/polaris/build/esm/styles.css\";\n\nfunction AppBridgeLink({ url, children, external, ...rest }) {\n  const navigate = useNavigate();\n  const handleClick = useCallback(() => {\n    navigate(url);\n  }, [url]);\n\n  const IS_EXTERNAL_LINK_REGEX = /^(?:[a-z][a-z\\d+.-]*:|\\/\\/)/;\n\n  if (external || IS_EXTERNAL_LINK_REGEX.test(url)) {\n    return (\n      <a {...rest} href={url} target=\"_blank\" rel=\"noopener noreferrer\">\n        {children}\n      </a>\n    );\n  }\n\n  return (\n    <a {...rest} onClick={handleClick}>\n      {children}\n    </a>\n  );\n}\n\n/**\n * Sets up the AppProvider from Polaris.\n * @desc PolarisProvider passes a custom link component to Polaris.\n * The Link component handles navigation within an embedded app.\n * Prefer using this vs any other method such as an anchor.\n * Use it by importing Link from Polaris, e.g:\n *\n * ```\n * import {Link} from '@shopify/polaris'\n *\n * function MyComponent() {\n *  return (\n *    <div><Link url=\"/tab2\">Tab 2</Link></div>\n *  )\n * }\n * ```\n *\n * PolarisProvider also passes translations to Polaris.\n *\n */\nexport function PolarisProvider({ children }) {\n  return (\n    <AppProvider i18n={translations} linkComponent={AppBridgeLink}>\n      {children}\n    </AppProvider>\n  );\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/components/providers/QueryProvider.jsx",
    "content": "import {\n  QueryClient,\n  QueryClientProvider,\n  QueryCache,\n  MutationCache,\n} from \"react-query\";\n\n/**\n * Sets up the QueryClientProvider from react-query.\n * @desc See: https://react-query.tanstack.com/reference/QueryClientProvider#_top\n */\nexport function QueryProvider({ children }) {\n  const client = new QueryClient({\n    queryCache: new QueryCache(),\n    mutationCache: new MutationCache(),\n  });\n\n  return <QueryClientProvider client={client}>{children}</QueryClientProvider>;\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/components/providers/index.js",
    "content": "export { AppBridgeProvider } from \"./AppBridgeProvider\";\nexport { QueryProvider } from \"./QueryProvider\";\nexport { PolarisProvider } from \"./PolarisProvider\";\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/dev_embed.js",
    "content": "import RefreshRuntime from \"/@react-refresh\";\n\nRefreshRuntime.injectIntoGlobalHook(window);\nwindow.$RefreshReg$ = () => {};\nwindow.$RefreshSig$ = () => (type) => type;\nwindow.__vite_plugin_react_preamble_installed__ = true;\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/hooks/index.js",
    "content": "export { useAppQuery } from \"./useAppQuery\";\nexport { useAuthenticatedFetch } from \"./useAuthenticatedFetch\";\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/hooks/useAppQuery.js",
    "content": "import { useAuthenticatedFetch } from \"./useAuthenticatedFetch\";\nimport { useMemo } from \"react\";\nimport { useQuery } from \"react-query\";\n\n/**\n * A hook for querying your custom app data.\n * @desc A thin wrapper around useAuthenticatedFetch and react-query's useQuery.\n *\n * @param {Object} options - The options for your query. Accepts 3 keys:\n *\n * 1. url: The URL to query. E.g: /api/widgets/1`\n * 2. fetchInit: The init options for fetch.  See: https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters\n * 3. reactQueryOptions: The options for `useQuery`. See: https://react-query.tanstack.com/reference/useQuery\n *\n * @returns Return value of useQuery.  See: https://react-query.tanstack.com/reference/useQuery.\n */\nexport const useAppQuery = ({ url, fetchInit = {}, reactQueryOptions }) => {\n  const authenticatedFetch = useAuthenticatedFetch();\n  const fetch = useMemo(() => {\n    return async () => {\n      const response = await authenticatedFetch(url, fetchInit);\n      return response.json();\n    };\n  }, [url, JSON.stringify(fetchInit)]);\n\n  return useQuery(url, fetch, {\n    ...reactQueryOptions,\n    refetchOnWindowFocus: false,\n  });\n};\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/hooks/useAuthenticatedFetch.js",
    "content": "import { authenticatedFetch } from \"@shopify/app-bridge-utils\";\nimport { useAppBridge } from \"@shopify/app-bridge-react\";\nimport { Redirect } from \"@shopify/app-bridge/actions\";\n\n/**\n * A hook that returns an auth-aware fetch function.\n * @desc The returned fetch function that matches the browser's fetch API\n * See: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\n * It will provide the following functionality:\n *\n * 1. Add a `X-Shopify-Access-Token` header to the request.\n * 2. Check response for `X-Shopify-API-Request-Failure-Reauthorize` header.\n * 3. Redirect the user to the reauthorization URL if the header is present.\n *\n * @returns {Function} fetch function\n */\nexport function useAuthenticatedFetch() {\n  const app = useAppBridge();\n  const fetchFunction = authenticatedFetch(app);\n\n  return async (uri, options) => {\n    const response = await fetchFunction(uri, options);\n    checkHeadersForReauthorization(response.headers, app);\n    return response;\n  };\n}\n\nfunction checkHeadersForReauthorization(headers, app) {\n  if (headers.get(\"X-Shopify-API-Request-Failure-Reauthorize\") === \"1\") {\n    const authUrlHeader =\n      headers.get(\"X-Shopify-API-Request-Failure-Reauthorize-Url\") ||\n      `/api/auth`;\n\n    const redirect = Redirect.create(app);\n    redirect.dispatch(\n      Redirect.Action.REMOTE,\n      authUrlHeader.startsWith(\"/\")\n        ? `https://${window.location.host}${authUrlHeader}`\n        : authUrlHeader\n    );\n  }\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n\n    <!-- Ensures that the UI is properly scaled in the Shopify Mobile app -->\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n    <script type=\"module\">\n      if (!import.meta.env || !import.meta.env.PROD) {\n        // Because the base HTML is rendered in the server side, we need to manually embed the code to enable HMR in our\n        // code, so that the vite server is properly enabled to run HMR\n        const script = document.createElement('script');\n        script.setAttribute('type', \"module\");\n        script.setAttribute('src', \"./dev_embed.js\");\n        document.getElementsByTagName('head')[0].append(script);\n      }\n    </script>\n  </head>\n  <body>\n    <div id=\"app\"><!--index.jsx injects App.jsx here--></div>\n    <script type=\"module\" src=\"/index.jsx\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/index.jsx",
    "content": "import ReactDOM from \"react-dom\";\n\nimport App from \"./App\";\n\nReactDOM.render(<App />, document.getElementById(\"app\"));\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/package.json",
    "content": "{\n  \"name\": \"shopify-frontend-template-react\",\n  \"private\": true,\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"build\": \"vite build\",\n    \"dev\": \"vite\",\n    \"coverage\": \"vitest run --coverage\"\n  },\n  \"type\": \"module\",\n  \"engines\": {\n    \"node\": \">= 12.16\"\n  },\n  \"dependencies\": {\n    \"@shopify/app-bridge\": \"^3.1.0\",\n    \"@shopify/app-bridge-react\": \"^3.1.0\",\n    \"@shopify/app-bridge-utils\": \"^3.1.0\",\n    \"@shopify/polaris\": \"10.21.0\",\n    \"@vitejs/plugin-react\": \"1.2.0\",\n    \"react\": \"^17.0.2\",\n    \"react-dom\": \"^17.0.2\",\n    \"react-query\": \"^3.34.19\",\n    \"react-router-dom\": \"^6.3.0\",\n    \"vite\": \"^2.8.6\"\n  },\n  \"devDependencies\": {\n    \"history\": \"^5.3.0\",\n    \"jsdom\": \"^19.0.0\",\n    \"prettier\": \"^2.6.0\",\n    \"vi-fetch\": \"^0.6.1\"\n  }\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/pages/ExitIframe.jsx",
    "content": "import { Redirect } from \"@shopify/app-bridge/actions\";\nimport { useAppBridge, Loading } from \"@shopify/app-bridge-react\";\nimport { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nexport default function ExitIframe() {\n  const app = useAppBridge();\n  const { search } = useLocation();\n\n  useEffect(() => {\n    if (!!app && !!search) {\n      const params = new URLSearchParams(search);\n      const redirectUri = params.get(\"redirectUri\");\n      const url = new URL(decodeURIComponent(redirectUri));\n\n      if (url.hostname === location.hostname) {\n        const redirect = Redirect.create(app);\n        redirect.dispatch(\n          Redirect.Action.REMOTE,\n          decodeURIComponent(redirectUri)\n        );\n      }\n    }\n  }, [app, search]);\n\n  return <Loading />;\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/pages/NotFound.jsx",
    "content": "import { Card, EmptyState, Page } from \"@shopify/polaris\";\nimport { notFoundImage } from \"../assets\";\n\nexport default function NotFound() {\n  return (\n    <Page>\n      <Card>\n        <Card.Section>\n          <EmptyState\n            heading=\"There is no page at this address\"\n            image={notFoundImage}\n          >\n            <p>\n              Check the URL and try again, or use the search bar to find what\n              you need.\n            </p>\n          </EmptyState>\n        </Card.Section>\n      </Card>\n    </Page>\n  );\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/pages/index.jsx",
    "content": "import {\n  Card,\n  Page,\n  Layout,\n  TextContainer,\n  Image,\n  Stack,\n  Link,\n  Heading,\n} from \"@shopify/polaris\";\nimport { TitleBar } from \"@shopify/app-bridge-react\";\n\nimport { trophyImage } from \"../assets\";\n\nimport { ProductsCard } from \"../components\";\n\nexport default function HomePage() {\n  return (\n    <Page narrowWidth>\n      <TitleBar title=\"App name\" primaryAction={null} />\n      <Layout>\n        <Layout.Section>\n          <Card sectioned>\n            <Stack\n              wrap={false}\n              spacing=\"extraTight\"\n              distribution=\"trailing\"\n              alignment=\"center\"\n            >\n              <Stack.Item fill>\n                <TextContainer spacing=\"loose\">\n                  <Heading>Nice work on building a Shopify app 🎉</Heading>\n                  <p>\n                    Your app is ready to explore! It contains everything you\n                    need to get started including the{\" \"}\n                    <Link url=\"https://polaris.shopify.com/\" external>\n                      Polaris design system\n                    </Link>\n                    ,{\" \"}\n                    <Link url=\"https://shopify.dev/api/admin-graphql\" external>\n                      Shopify Admin API\n                    </Link>\n                    , and{\" \"}\n                    <Link\n                      url=\"https://shopify.dev/apps/tools/app-bridge\"\n                      external\n                    >\n                      App Bridge\n                    </Link>{\" \"}\n                    UI library and components.\n                  </p>\n                  <p>\n                    Ready to go? Start populating your app with some sample\n                    products to view and test in your store.{\" \"}\n                  </p>\n                  <p>\n                    Learn more about building out your app in{\" \"}\n                    <Link\n                      url=\"https://shopify.dev/apps/getting-started/add-functionality\"\n                      external\n                    >\n                      this Shopify tutorial\n                    </Link>{\" \"}\n                    📚{\" \"}\n                  </p>\n                </TextContainer>\n              </Stack.Item>\n              <Stack.Item>\n                <div style={{ padding: \"0 20px\" }}>\n                  <Image\n                    source={trophyImage}\n                    alt=\"Nice work on building a Shopify app\"\n                    width={120}\n                  />\n                </div>\n              </Stack.Item>\n            </Stack>\n          </Card>\n        </Layout.Section>\n        <Layout.Section>\n          <ProductsCard />\n        </Layout.Section>\n      </Layout>\n    </Page>\n  );\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/pages/readme.jsx",
    "content": "import { Layout, Page, Card, Text, TextContainer, List } from '@shopify/polaris';\nimport React from 'react';\n\nexport default function ReadMe() {\n  return (\n    <Page title=\"Bundles Cart Transform\">\n      <Layout>\n        <Layout.Section>\n          <Card\n            title=\"The Structure of Bundles in this Reference App\"\n            sectioned\n          >\n            <TextContainer>\n              <p>\n                The <i>Bundles Reference App</i> configures bundles using{' '}\n                <i>metafields</i> on product variants. These metafields contain\n                data that the <code>bundles-cart-transform</code> extension uses\n                to determine <code>expand</code> and <code>merge</code>{' '}\n                operations. These metafields include:\n              </p>\n              <List type=\"bullet\">\n                <List.Item>\n                  <code>component_reference</code>\n                </List.Item>\n                <List.Item>\n                  <code>component_quantities</code>\n                </List.Item>\n                <List.Item>\n                  <code>component_parents</code>\n                </List.Item>\n              </List>\n              <p>\n                Bundles are structured at the product variant level. The bundle\n                product, otherwise known as the \"parent bundle product,\" has\n                many product variants representing the different options of the\n                bundle. For example, a bundle containing one small, medium or\n                large shirt along with one small, medium or large pair of pants\n                would have 9 options &mdash; small shirt/ small pants, small\n                shirt/ medium pants, small shirt/ large pants, etc. Each of the\n                product variants of the parent bundle product have{' '}\n                <code>component_reference</code> and{' '}\n                <code>component_quantities</code> metafields defining the\n                product variants that are a part of the bundle, otherwise known\n                as \"child bundle products,\" and the respective quantity of the\n                children in the bundle.\n              </p>\n              <p>\n                Along with expanding parent bundle products into their defined\n                children, the <code>bundles-cart-transform</code> extension in\n                this app can also detect bundles and merge many children into a\n                parent bundle product. This is done by using the{' '}\n                <code>component_parents</code> metafield. Each product variant\n                that belongs to a bundle will have a{' '}\n                <code>component_parents</code> metafield. This metafield is a\n                JSON blob that defines the parent bundle product the child\n                belongs to. It contains the ID of the parent product variant,\n                the <code>component_reference</code> of the bundle and the{' '}\n                <code>component_quantities</code>.\n              </p>\n              <p>\n                Below are instructions on how to configure both parent and\n                children bundle products. After configuring the bundles, you can\n                test out the functionality by adding the given product variants\n                to a cart and then proceeding to checkout. The{' '}\n                <code>cart-transform</code> function is run in checkout, so you\n                will not see expand or merge functionality until you move your\n                cart to checkout.\n              </p>\n            </TextContainer>\n          </Card>\n        </Layout.Section>\n\n        <Layout.Section>\n          <Card title=\"Create Metafield Definitions on Variants\" sectioned>\n            <TextContainer>\n              <List type=\"bullet\">\n                <List.Item>\n                  On the admin dashboard, go to your shop's settings\n                </List.Item>\n                <List.Item>\n                  Click on <i>Custom Data</i> in the side-navbar\n                  <br />\n                  <strong>Note:</strong> The button may say <i>Metafields</i>{' '}\n                  depending on your shop's settings\n                </List.Item>\n                <List.Item>\n                  Under <i>Metafields</i>, click on <i>Variants</i>\n                </List.Item>\n              </List>\n\n              <Text variant=\"headingXs\" as=\"h4\">\n                Create a <code>component_reference</code> metafield defintion\n              </Text>\n              <List type=\"bullet\">\n                <List.Item>\n                  Click <i>Add definition</i> to create a new variant metafield\n                  definition\n                </List.Item>\n                <List.Item>\n                  Name: <code>component_reference</code>\n                </List.Item>\n                <List.Item>\n                  Namespace and key (don't change the default):{' '}\n                  <code>custom.component_reference</code>\n                </List.Item>\n                <List.Item>\n                  Description: <code>Components included in Bundle</code>\n                </List.Item>\n                <List.Item>\n                  Select type: <code>Product Variant</code> -{' '}\n                  <code>List of product variants</code>\n                </List.Item>\n                <List.Item>Click Save</List.Item>\n              </List>\n\n              <Text variant=\"headingXs\" as=\"h4\">\n                Create a <code>component_quantities</code> metafield defintion\n              </Text>\n              <List type=\"bullet\">\n                <List.Item>\n                  Click <i>Add definition</i> to create a new variant metafield\n                  definition\n                </List.Item>\n                <List.Item>\n                  Name: <code>component_quantities</code>\n                </List.Item>\n                <List.Item>\n                  Namespace and key (don't change the default):&nbsp;\n                  <code>custom.component_quantities</code>\n                </List.Item>\n                <List.Item>\n                  Description:{' '}\n                  <code>Quantity of components included in Bundle</code>\n                </List.Item>\n                <List.Item>\n                  Select type: <code>Integer</code> -&nbsp;\n                  <code>List of values</code>\n                </List.Item>\n                <List.Item>Click Save</List.Item>\n              </List>\n\n              <Text variant=\"headingXs\" as=\"h4\">\n                Create a <code>component_parents</code> metafield defintion\n              </Text>\n              <List type=\"bullet\">\n                <List.Item>\n                  Click <i>Add definition</i> to create a new variant metafield\n                  definition\n                </List.Item>\n                <List.Item>\n                  Name: <code>component_parents</code>\n                </List.Item>\n                <List.Item>\n                  Namespace and key (don't change the default):&nbsp;\n                  <code>custom.component_parents</code>\n                </List.Item>\n                <List.Item>\n                  Description: <code>Child component parent definition</code>\n                </List.Item>\n                <List.Item>\n                  Select type: <code>JSON</code>\n                </List.Item>\n                <List.Item>\n                  Copy this{' '}\n                  <a href=\"#\" target=\"_blank\">\n                    JSON schema\n                  </a>{' '}\n                  and add it as the rules\n                </List.Item>\n                <List.Item>Click Save</List.Item>\n              </List>\n            </TextContainer>\n          </Card>\n        </Layout.Section>\n\n        <Layout.Section>\n          <Card title=\"Create a bundle parent product variant\" sectioned>\n            <List type=\"bullet\">\n              <List.Item>\n                Create a product that represents the bundle\n                <br />\n                <strong>Required</strong>: At least one available in inventory\n                <br />\n                <strong>Required</strong>: Price is more than 0<br />\n                <strong>Required</strong>: At least one option, since we need\n                access to the product variant\n              </List.Item>\n              <List.Item>\n                After saving the product, click <i>Edit</i> next to the variant\n                of the option\n                <br />\n                <strong>Note</strong>: This will be the bundle parent product\n                variant\n              </List.Item>\n              <List.Item>\n                Scroll to the <i>Metafields</i> section of the variant edit page\n              </List.Item>\n              <List.Item>\n                Open up the product variants that will be included in this\n                bundle in separate browser tabs\n                <br />\n                <strong>Note</strong>: We'll need access to the product variant\n                IDs of the bundled products while defining them\n                <br />\n                <strong>Note</strong>: The product variant IDs can be found in\n                the URL of the product variant:\n                <br />\n                <code>\n                  {\n                    'https://admin.shopify.com/store/<your store>/products/<product ID>/variants/<product variant ID>'\n                  }\n                </code>\n              </List.Item>\n              <List.Item>\n                On the parent product variant page, click the{' '}\n                <i>component_reference</i> field under <i>Metafields</i>\n              </List.Item>\n              <List.Item>\n                Select the product variants that will be bundled and click{' '}\n                <i>Save</i>\n              </List.Item>\n              <List.Item>\n                Select the <i>component_quantities</i> field under{' '}\n                <i>Metafields</i>\n                <br />\n                <strong>Note</strong>: Add a quantity for each{' '}\n                <i>component_reference</i> in this bundle\n                <br />\n                <strong>Note</strong>: The order matters, the quantity entered\n                will correspond with the components entered in the{' '}\n                <i>component_reference</i> metafield\n              </List.Item>\n              <List.Item>\n                Click <i>Save</i> on the parent product variant page\n                <br />\n                <strong>Note</strong>: Do not exit this page, we'll need the ID\n                from the URL\n              </List.Item>\n            </List>\n          </Card>\n        </Layout.Section>\n\n        <Layout.Section>\n          <Card title=\"Define bundle on child product variants\" sectioned>\n            <Text variant=\"headingXs\" as=\"h3\">\n              <strong>Note</strong>: Complete the following steps for each child\n              product variant defined in <code>component_reference</code> in the\n              previous step\n            </Text>\n\n            <List type=\"bullet\">\n              <List.Item>\n                On the child product variant page, click the{' '}\n                <i>componenet_parents</i> field under <i>Metafields</i>\n              </List.Item>\n              <List.Item>\n                Using the JSON schema defined, build the bundle defintion\n                <br />\n                <strong>Note</strong>: The <i>component_reference</i> and{' '}\n                <i>component_quantities</i> values MUST match the values defined\n                on the parent in the previous step\n                <br />\n                <strong>Example</strong>:\n                <br />\n                <pre>\n                  <code>\n                    {'['}\n                    <br />\n                    {'  {'}\n                    <br />\n                    {\n                      '    \"id\": \"gid://shopify/ProductVariant/<ID of parent product variant>\",'\n                    }\n                    <br />\n                    {'    \"component_reference\": {'}\n                    <br />\n                    {'      \"value\": ['}\n                    <br />\n                    {\n                      '        \"gid://shopify/ProductVariant/<ID of first child product variant>\",'\n                    }\n                    <br />\n                    {\n                      '        \"gid://shopify/ProductVariant/<ID of second child product variant>\"'\n                    }\n                    <br />\n                    {'      ]'}\n                    <br />\n                    {'    },'}\n                    <br />\n                    {'    \"component_quantities\": {'}\n                    <br />\n                    {'      \"value\": ['}\n                    <br />\n                    {'        <quantity of first product variant in bundle>,'}\n                    <br />\n                    {'        <quantity of second product variant in bundle>'}\n                    <br />\n                    {'      ]'}\n                    <br />\n                    {'    }'}\n                    <br />\n                    {'  }'}\n                    <br />\n                    {']'}\n                    <br />\n                  </code>\n                </pre>\n              </List.Item>\n            </List>\n          </Card>\n        </Layout.Section>\n      </Layout>\n    </Page>\n  );\n}\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/shopify.web.toml",
    "content": "type=\"frontend\"\n\n[commands]\ndev = \"npm run dev\"\nbuild = \"npm run build\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/frontend/vite.config.js",
    "content": "import { defineConfig } from \"vite\";\nimport { dirname } from \"path\";\nimport { fileURLToPath } from \"url\";\nimport https from \"https\";\nimport react from \"@vitejs/plugin-react\";\n\nif (\n  process.env.npm_lifecycle_event === \"build\" &&\n  !process.env.CI &&\n  !process.env.SHOPIFY_API_KEY\n) {\n  console.warn(\n    \"\\nBuilding the frontend app without an API key. The frontend build will not run without an API key. Set the SHOPIFY_API_KEY environment variable when running the build command.\\n\"\n  );\n}\n\nconst proxyOptions = {\n  target: `http://127.0.0.1:${process.env.BACKEND_PORT}`,\n  changeOrigin: false,\n  secure: true,\n  ws: false,\n};\n\nconst host = process.env.HOST\n  ? process.env.HOST.replace(/https?:\\/\\//, \"\")\n  : \"localhost\";\n\nlet hmrConfig;\nif (host === \"localhost\") {\n  hmrConfig = {\n    protocol: \"ws\",\n    host: \"localhost\",\n    port: 64999,\n    clientPort: 64999,\n  };\n} else {\n  hmrConfig = {\n    protocol: \"wss\",\n    host: host,\n    port: process.env.FRONTEND_PORT,\n    clientPort: 443,\n  };\n}\n\nexport default defineConfig({\n  root: dirname(fileURLToPath(import.meta.url)),\n  plugins: [react()],\n  define: {\n    \"process.env.SHOPIFY_API_KEY\": JSON.stringify(process.env.SHOPIFY_API_KEY),\n  },\n  resolve: {\n    preserveSymlinks: true,\n  },\n  server: {\n    host: \"localhost\",\n    port: process.env.FRONTEND_PORT,\n    hmr: hmrConfig,\n    proxy: {\n      \"^/(\\\\?.*)?$\": proxyOptions,\n      \"^/api(/|(\\\\?.*)?$)\": proxyOptions,\n    },\n  },\n});\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/lib/assets/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/lib/tasks/build.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :build do\n  desc \"Run all build tasks\"\n  task all: [\"assets:precompile\", :build_frontend_links]\n\n  desc \"Build symlinks for FE assets\"\n  task build_frontend_links: :environment do\n    index_path = File.join(__dir__, \"../../public/dist/index.html\")\n    assets_path = File.join(__dir__, \"../../public/assets\")\n\n    File.symlink(File.join(__dir__, \"../../frontend/dist/index.html\"), index_path) unless File.symlink?(index_path)\n    File.symlink(File.join(__dir__, \"../../frontend/dist/assets\"), assets_path) unless File.symlink?(assets_path)\n  end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/log/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/public/404.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <title>The page you were looking for doesn't exist (404)</title>\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  <style>\n  .rails-default-error-page {\n    background-color: #EFEFEF;\n    color: #2E2F30;\n    text-align: center;\n    font-family: arial, sans-serif;\n    margin: 0;\n  }\n\n  .rails-default-error-page div.dialog {\n    width: 95%;\n    max-width: 33em;\n    margin: 4em auto 0;\n  }\n\n  .rails-default-error-page div.dialog > div {\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #BBB;\n    border-top: #B00100 solid 4px;\n    border-top-left-radius: 9px;\n    border-top-right-radius: 9px;\n    background-color: white;\n    padding: 7px 12% 0;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n\n  .rails-default-error-page h1 {\n    font-size: 100%;\n    color: #730E15;\n    line-height: 1.5em;\n  }\n\n  .rails-default-error-page div.dialog > p {\n    margin: 0 0 1em;\n    padding: 1em;\n    background-color: #F7F7F7;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #999;\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    border-top-color: #DADADA;\n    color: #666;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n  </style>\n</head>\n\n<body class=\"rails-default-error-page\">\n  <!-- This file lives in public/404.html -->\n  <div class=\"dialog\">\n    <div>\n      <h1>The page you were looking for doesn't exist.</h1>\n      <p>You may have mistyped the address or the page may have moved.</p>\n    </div>\n    <p>If you are the application owner check the logs for more information.</p>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/public/422.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <title>The change you wanted was rejected (422)</title>\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  <style>\n  .rails-default-error-page {\n    background-color: #EFEFEF;\n    color: #2E2F30;\n    text-align: center;\n    font-family: arial, sans-serif;\n    margin: 0;\n  }\n\n  .rails-default-error-page div.dialog {\n    width: 95%;\n    max-width: 33em;\n    margin: 4em auto 0;\n  }\n\n  .rails-default-error-page div.dialog > div {\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #BBB;\n    border-top: #B00100 solid 4px;\n    border-top-left-radius: 9px;\n    border-top-right-radius: 9px;\n    background-color: white;\n    padding: 7px 12% 0;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n\n  .rails-default-error-page h1 {\n    font-size: 100%;\n    color: #730E15;\n    line-height: 1.5em;\n  }\n\n  .rails-default-error-page div.dialog > p {\n    margin: 0 0 1em;\n    padding: 1em;\n    background-color: #F7F7F7;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #999;\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    border-top-color: #DADADA;\n    color: #666;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n  </style>\n</head>\n\n<body class=\"rails-default-error-page\">\n  <!-- This file lives in public/422.html -->\n  <div class=\"dialog\">\n    <div>\n      <h1>The change you wanted was rejected.</h1>\n      <p>Maybe you tried to change something you didn't have access to.</p>\n    </div>\n    <p>If you are the application owner check the logs for more information.</p>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/public/500.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <title>We're sorry, but something went wrong (500)</title>\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  <style>\n  .rails-default-error-page {\n    background-color: #EFEFEF;\n    color: #2E2F30;\n    text-align: center;\n    font-family: arial, sans-serif;\n    margin: 0;\n  }\n\n  .rails-default-error-page div.dialog {\n    width: 95%;\n    max-width: 33em;\n    margin: 4em auto 0;\n  }\n\n  .rails-default-error-page div.dialog > div {\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #BBB;\n    border-top: #B00100 solid 4px;\n    border-top-left-radius: 9px;\n    border-top-right-radius: 9px;\n    background-color: white;\n    padding: 7px 12% 0;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n\n  .rails-default-error-page h1 {\n    font-size: 100%;\n    color: #730E15;\n    line-height: 1.5em;\n  }\n\n  .rails-default-error-page div.dialog > p {\n    margin: 0 0 1em;\n    padding: 1em;\n    background-color: #F7F7F7;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #999;\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    border-top-color: #DADADA;\n    color: #666;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n  </style>\n</head>\n\n<body class=\"rails-default-error-page\">\n  <!-- This file lives in public/500.html -->\n  <div class=\"dialog\">\n    <div>\n      <h1>We're sorry, but something went wrong.</h1>\n    </div>\n    <p>If you are the application owner check the logs for more information.</p>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/public/dist/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/public/robots.txt",
    "content": "# See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/rubocop.yml",
    "content": "inherit_gem:\n  rubocop-shopify: rubocop.yml\n\nAllCops:\n  TargetRubyVersion: 3.1\n  Exclude:\n    - \"db/**/*\"\n    - \"bin/**/*\"\n    - \"test/tmp/**/*\"\n    - \"vendor/bundle/**/*\"\n\nStyle/MethodCallWithArgsParentheses:\n  Exclude:\n    - \"**/Gemfile\"\n    - \"test/**/*\"\n\nStyle/ClassAndModuleChildren:\n  Exclude:\n    - \"test/**/*\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/shopify.web.toml",
    "content": "type=\"backend\"\n\n[commands]\ndev = \"bin/rails server\"\nbuild = \"rake build:all\"\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/storage/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/template.rb",
    "content": "# frozen_string_literal: true\n\nputs\nif yes?(\"(Re)-create app credentials? [y/N]\")\n  puts \"Removing config/credentials.yml.enc from .gitignore...\"\n  gitignore = File.join(__dir__, \".gitignore\")\n  text = File.read(gitignore)\n  text.gsub!(%r{^/config/credentials.yml.enc$}, \"\")\n  File.open(gitignore, \"w\") { |file| file.puts text }\n\n  default_editor = \"code --wait\"\n  editor = ask(\"Please enter the editor to use (remember to set --wait): [#{default_editor}]\")\n  editor = default_editor if editor.blank?\n\n  ENV[\"EDITOR\"] = editor\n  rails_command \"credentials:edit\"\nend\n\nputs\nif yes?(\"Create and migrate database? [y/N]\")\n  rails_command \"db:create\"\n  rails_command \"db:migrate\"\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/test/application_system_test_case.rb",
    "content": "# frozen_string_literal: true\n\nrequire \"test_helper\"\n\nclass ApplicationSystemTestCase < ActionDispatch::SystemTestCase\n  driven_by :selenium, using: :chrome, screen_size: [1400, 1400]\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/test/channels/application_cable/connection_test.rb",
    "content": "# frozen_string_literal: true\n\nrequire \"test_helper\"\n\nclass ApplicationCable::ConnectionTest < ActionCable::Connection::TestCase\n  # test \"connects with cookies\" do\n  #   cookies.signed[:user_id] = 42\n  #\n  #   connect\n  #\n  #   assert_equal connection.user_id, \"42\"\n  # end\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/test/fixtures/files/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/test/helpers/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/test/integration/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/test/mailers/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/test/models/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/test/system/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/test/test_helper.rb",
    "content": "# frozen_string_literal: true\n\nENV[\"RAILS_ENV\"] ||= \"test\"\nrequire_relative \"../config/environment\"\nrequire \"rails/test_help\"\n\nrequire \"minitest/autorun\"\nrequire \"webmock/minitest\"\n\nclass ActiveSupport::TestCase\n  # Run tests in parallel with specified workers\n  parallelize(workers: :number_of_processors)\n\n  # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.\n  fixtures :all\n\n  # Add more helper methods to be used by all tests here...\nend\n"
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/tmp/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/tmp/pids/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/tmp/storage/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/vendor/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-cart-transform/web/vendor/javascript/.keep",
    "content": ""
  },
  {
    "path": "sample-apps/bundles-price-per-component/.gitignore",
    "content": "# Environment Configuration\n.env\n.env.*\n\n# Dependency directory\nnode_modules\n\n# Test coverage directory\ncoverage\n\n# Ignore Apple macOS Desktop Services Store\n.DS_Store\n\n# Logs\nlogs\n*.log\n\n# extensions build output\nextensions/*/build\n\n# lock files\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/.npmrc",
    "content": "engine-strict=true\nauto-install-peers=true\nshamefully-hoist=true\n@shopify:registry=https://registry.npmjs.org\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/README.md",
    "content": "# Shopify App Template - None (app with extensions only)\n\nThis is a template for building a [Shopify app](https://shopify.dev/docs/apps/getting-started) that includes no app home UI. It contains the basics for building a Shopify app that uses only app extensions.\n\n**If you plan for your app to load its own page in the Shopify Admin, then you'll want to choose one of our other templates.**\n\nWhether you choose to use this template or another one, you can use your preferred package manager and the Shopify CLI with [these steps](#installing-the-template).\n\n## Benefits\n\nShopify apps are built on a variety of Shopify tools to create a great merchant experience. The [create an app](https://shopify.dev/docs/apps/getting-started/create) tutorial in our developer documentation will guide you through creating a Shopify app.\n\nThis app template does little more than install the CLI and scaffold a respository.\n\n## Getting started\n\n### Requirements\n\n1. You must [download and install Node.js](https://nodejs.org/en/download/) if you don't already have it.\n1. You must [create a Shopify partner account](https://partners.shopify.com/signup) if you don’t have one.\n1. You must create a store for testing if you don't have one, either a [development store](https://help.shopify.com/en/partners/dashboard/development-stores#create-a-development-store) or a [Shopify Plus sandbox store](https://help.shopify.com/en/partners/dashboard/managing-stores/plus-sandbox-store).\n\n### Installing the template\n\nThis template can be installed using your preferred package manager:\n\nUsing yarn:\n\n```shell\nyarn create @shopify/app\n```\n\nUsing npm:\n\n```shell\nnpm init @shopify/app@latest\n```\n\nUsing pnpm:\n\n```shell\npnpm create @shopify/app@latest\n```\n\nThis will clone the template and install the required dependencies.\n\n#### Local Development\n\n[The Shopify CLI](https://shopify.dev/docs/apps/tools/cli) connects to an app in your Partners dashboard. It provides environment variables and runs commands in parallel..\n\nYou can develop locally using your preferred package manager. Run one of the following commands from the root of your app.\n\nUsing yarn:\n\n```shell\nyarn dev\n```\n\nUsing npm:\n\n```shell\nnpm run dev\n```\n\nUsing pnpm:\n\n```shell\npnpm run dev\n```\n\nOpen the URL generated in your console. Once you grant permission to the app, you can start development (such as generating extensions).\n\n## Developer resources\n\n- [Introduction to Shopify apps](https://shopify.dev/docs/apps/getting-started)\n- [App authentication](https://shopify.dev/docs/apps/auth)\n- [Shopify CLI](https://shopify.dev/docs/apps/tools/cli)\n- [Shopify API Library documentation](https://github.com/Shopify/shopify-api-js#readme)\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-js/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-js/package.json",
    "content": "{\n  \"name\": \"price-per-component-expand-example\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"0.1.0\",\n    \"javy\": \"0.1.1\"\n  }\n}\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-js/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-js/shopify.extension.toml",
    "content": "api_version = \"2024-04\"\n\n[[extensions]]\nhandle = \"price-per-component-demo\"\nname = \"t:name\"\ndescription = \"t:description\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-js/src/index.js",
    "content": "export * from './run';\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-js/src/run.graphql",
    "content": "query RunInput {\n  presentmentCurrencyRate\n  cart {\n    lines {\n      id\n      quantity\n      merchandise {\n        __typename\n        ... on ProductVariant {\n          id\n          title\n          product {\n            bundledComponentData: metafield(namespace: \"$app:bundles-price-per-component\", key: \"function-configuration\") {\n              type\n              value\n            }\n          }\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-js/src/run.js",
    "content": "// @ts-check\n\n/*\nA straightforward example of a function that expands a bundle into its component parts.\nThe parts of a bundle are stored in a metafield on the product parent value with a specific format,\nspecifying each part's quantity and variant.\n\nThe function reads the cart. Any item containing the metafield that specifies the bundle parts\nwill return an Expand operation containing the parts.\n*/\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n * @typedef {import(\"../generated/api\").CartOperation} CartOperation\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst NO_CHANGES = {\n  operations: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const operations = input.cart.lines.reduce(\n    /** @param {CartOperation[]} acc */\n    (acc, cartLine) => {\n      const expandOperation = optionallyBuildExpandOperation(cartLine, input.presentmentCurrencyRate);\n\n      if (expandOperation) {\n        return [...acc, { expand: expandOperation }];\n      }\n\n      return acc;\n    },\n    []\n  );\n\n  return operations.length > 0 ? { operations } : NO_CHANGES;\n};\n\n/**\n * @param {RunInput['cart']['lines'][number]} cartLine\n * @param {RunInput['presentmentCurrencyRate']} presentmentCurrencyRate\n */\nfunction optionallyBuildExpandOperation({ id: cartLineId, merchandise }, presentmentCurrencyRate) {\n  if (merchandise.__typename === \"ProductVariant\" && merchandise.product.bundledComponentData) {\n    const bundleData = JSON.parse(\n      merchandise.product.bundledComponentData.value\n    );\n\n    if (bundleData.length === 0) {\n      throw new Error(\"Invalid bundle composition\");\n    }\n\n    const expandedCartItems = bundleData.map((component) => ({\n      merchandiseId: component.id,\n      quantity: component.quantity || 1,\n      price: {\n        adjustment: {\n          fixedPricePerUnit: {\n            amount: (component.price * presentmentCurrencyRate).toFixed(2),\n          },\n        },\n      },\n    }));\n\n    if (expandedCartItems.length > 0) {\n      return { cartLineId, expandedCartItems };\n    }\n  }\n\n  return null;\n}\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-js/src/run.test.js",
    "content": "import { describe, it, expect } from \"vitest\";\nimport { run } from './run';\n\ndescribe(\"cart transform function\", () => {\n  it(\"returns NO_CHANGES when cart is empty\", () => {\n    expect(\n      run({\n        presentmentCurrencyRate: 1,\n        cart: {\n          lines: [],\n        },\n      })\n    ).toStrictEqual({ operations: [] });\n  });\n\n  it(\"returns NO_CHANGES when cart contains no bundles\", () => {\n    expect(\n      run({\n        presentmentCurrencyRate: 1,\n        cart: {\n          lines: [\n            {\n              id: \"1\",\n              merchandise: {\n                __typename: \"ProductVariant\",\n                product: {\n                  bundledComponentData: null,\n                },\n              },\n            },\n          ],\n        },\n      })\n    ).toStrictEqual({ operations: [] });\n  });\n\n  it(\"returns operations when cart contains a bundle\", () => {\n    expect(\n      run({\n        presentmentCurrencyRate: 1,\n        cart: {\n          lines: [\n            {\n              id: \"1\",\n              merchandise: {\n                __typename: \"ProductVariant\",\n                product: {\n                  bundledComponentData: {\n                    value: JSON.stringify([\n                      { id: \"gid://shopify/ProductVariant/2\", price: \"25.00\" },\n                      { id: \"gid://shopify/ProductVariant/3\", price: \"25.00\" },\n                    ]),\n                  },\n                },\n              },\n            },\n          ],\n        },\n      })\n    ).toStrictEqual({\n      operations: [\n        {\n          expand: {\n            cartLineId: \"1\",\n            expandedCartItems: [\n              {\n                merchandiseId: \"gid://shopify/ProductVariant/2\",\n                quantity: 1,\n                price: {\n                  adjustment: {\n                    fixedPricePerUnit: {\n                      amount: \"25.00\",\n                    },\n                  },\n                },\n              },\n              {\n                merchandiseId: \"gid://shopify/ProductVariant/3\",\n                quantity: 1,\n                price: {\n                  adjustment: {\n                    fixedPricePerUnit: {\n                      amount: \"25.00\",\n                    },\n                  },\n                },\n              },\n            ],\n          },\n        },\n      ],\n    });\n  });\n\n  describe(\"error cases\", () => {\n    it(\"throws an error when bundledComponentData length is 0\", () => {\n      expect(() =>\n        run({\n          presentmentCurrencyRate: 1,\n          cart: {\n            lines: [\n              {\n                id: \"1\",\n                merchandise: {\n                  __typename: \"ProductVariant\",\n                  product: {\n                    bundledComponentData: { value: JSON.stringify([]) },\n                  },\n                },\n              },\n            ],\n          },\n        })\n      ).toThrow(\"Invalid bundle composition\");\n    });\n  });\n});\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/Cargo.toml",
    "content": "[package]\nname = \"cart-transform-3-rust\"\nversion = \"1.0.0\"\nedition = \"2021\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/README.md",
    "content": "---\nname: Cart Transform # LLM prompt for the example\napi_name: cart_transform\napi_version: 2025-01\nurl: https://shopify.dev/docs/api/functions/2025-01/cart-transform\nexample_name:  Cart Transform Expand Operation Bundle Expansion\nexample_description: This function implements a bundle expansion using the cart transform expand operation.\n---\n\n# Cart Transform Expand Operation Example: Bundle Expansion\n\nThis example demonstrates how to implement a bundle expansion using the Cart Transform expand operation. When a customer adds a bundle product to their cart, it's automatically expanded into its individual components. For example, a \"Holiday Package\" bundle could be expanded into three separate products, each with its own price.\n\n## How it Works\n\n1. A customer adds a bundle product to their cart (e.g., \"Holiday Package\")\n2. The cart transform function reads the bundle configuration from the product's metafields\n3. The single cart line is expanded to show all component products with their respective prices\n\n## Implementation Details\n\nThe function works by:\n1. Checking each cart line for bundle configuration in the product's metafields\n2. When found, it expands the cart line to include all component products\n3. Each component is added as a separate line item with its specified price\n4. The prices are adjusted according to the presentment currency rate\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/locales/en.default.json",
    "content": "{\n  \"name\": \"cart-transform-3-rust\",\n  \"description\": \"cart-transform-3-rust\"\n}\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nA [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n  \"product\": {\n    \"id\": \"gid://shopify/Product/1346443542550\",\n    \"title\": \"White T-shirt\",\n    \"options\": [{\n      \"name\": \"Size\",\n      \"values\": [\"M\", \"L\"]\n    }]\n  }\n}`\n\"\"\"\nscalar JSON\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The data that's stored in the metafield, using JSON format.\n  \"\"\"\n  jsonValue: JSON!\n\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan implements HasMetafields {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/shopify.extension.toml",
    "content": "api_version = \"2025-01\"\n\n[[extensions]]\nname = \"t:name\"\nhandle = \"cart-transform-3-rust\"\ntype = \"function\"\n\ndescription = \"t:description\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/cart-transform-3-rust.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/src/run.graphql",
    "content": "query Input {\n  presentmentCurrencyRate\n  cart {\n    lines {\n      id\n      quantity\n      merchandise {\n        __typename\n        ... on ProductVariant {\n          id\n          title\n          product {\n            bundledComponentData: metafield(namespace: \"$app:bundles-price-per-component\", key: \"function-configuration\") {\n              type\n              value\n            }\n          }\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/src/run.input.json",
    "content": "{\n    \"presentmentCurrencyRate\": \"1.0\",\n    \"cart\": {\n        \"lines\": [\n            {\n                \"id\": \"1\",\n                \"quantity\": 1,\n                \"merchandise\": {\n                    \"__typename\": \"ProductVariant\",\n                    \"id\": \"gid://shopify/ProductVariant/1\",\n                    \"title\": \"Holiday Package\",\n                    \"product\": {\n                        \"bundledComponentData\": {\n                            \"type\": \"json\",\n                            \"value\": \"[{\\\"id\\\":\\\"gid://shopify/ProductVariant/2\\\",\\\"price\\\":\\\"25.00\\\"},{\\\"id\\\":\\\"gid://shopify/ProductVariant/3\\\",\\\"price\\\":\\\"25.00\\\"},{\\\"id\\\":\\\"gid://shopify/ProductVariant/4\\\",\\\"price\\\":\\\"25.00\\\"}]\"\n                        }\n                    }\n                }\n            }\n        ]\n    }\n}\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/src/run.output.json",
    "content": "{\n    \"operations\": [\n        {\n            \"expand\": {\n                \"cartLineId\": \"1\",\n                \"expandedCartItems\": [\n                    {\n                        \"merchandiseId\": \"gid://shopify/ProductVariant/2\",\n                        \"price\": {\n                            \"adjustment\": {\n                                \"fixedPricePerUnit\": {\n                                    \"amount\": \"25.0\"\n                                }\n                            }\n                        },\n                        \"quantity\": 1\n                    },\n                    {\n                        \"merchandiseId\": \"gid://shopify/ProductVariant/3\",\n                        \"price\": {\n                            \"adjustment\": {\n                                \"fixedPricePerUnit\": {\n                                    \"amount\": \"25.0\"\n                                }\n                            }\n                        },\n                        \"quantity\": 1\n                    },\n                    {\n                        \"merchandiseId\": \"gid://shopify/ProductVariant/4\",\n                        \"price\": {\n                            \"adjustment\": {\n                                \"fixedPricePerUnit\": {\n                                    \"amount\": \"25.0\"\n                                }\n                            }\n                        },\n                        \"quantity\": 1\n                    }\n                ],\n                \"title\": \"Holiday Package\"\n            }\n        }\n    ]\n}\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/extensions/price-per-component-rs/src/run.rs",
    "content": "use run::input::InputCart as Cart;\nuse run::input::InputCartLinesMerchandise::ProductVariant;\nuse run::output::CartOperation;\nuse run::output::ExpandOperation;\nuse run::output::ExpandedItem;\nuse run::output::ExpandedItemFixedPricePerUnitAdjustment;\nuse run::output::ExpandedItemPriceAdjustment;\nuse run::output::ExpandedItemPriceAdjustmentValue;\n\nuse serde_json::Value;\nuse shopify_function::prelude::*;\nuse shopify_function::Result;\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let presentment_currency_rate_f64 = input.presentment_currency_rate.0;\n    let cart_operations: Vec<CartOperation> =\n        get_update_cart_operations(&input.cart, presentment_currency_rate_f64);\n\n    Ok(output::FunctionRunResult {\n        operations: cart_operations,\n    })\n}\n\nfn get_update_cart_operations(cart: &Cart, presentment_currency_rate: f64) -> Vec<CartOperation> {\n    cart.lines\n        .iter()\n        .filter_map(|line| {\n            if let ProductVariant(variant) = &line.merchandise {\n                if let Some(bundle_data) = &variant.product.bundled_component_data {\n                    if let Some(components) = parse_bundle_components(&bundle_data.value) {\n                        let expanded_items =\n                            create_expanded_items(components, presentment_currency_rate);\n\n                        if !expanded_items.is_empty() {\n                            let expand_operation = ExpandOperation {\n                                cart_line_id: line.id.clone(),\n                                title: Some(variant.title.clone().unwrap_or_default()),\n                                image: None,\n                                price: None,\n                                expanded_cart_items: expanded_items,\n                            };\n                            return Some(CartOperation::Expand(expand_operation));\n                        }\n                    }\n                }\n            }\n            None\n        })\n        .collect()\n}\n\nfn parse_bundle_components(bundle_data: &str) -> Option<Vec<Value>> {\n    match serde_json::from_str::<Vec<Value>>(bundle_data) {\n        Ok(components) if !components.is_empty() => Some(components),\n        _ => None,\n    }\n}\n\nfn create_expanded_items(\n    components: Vec<Value>,\n    presentment_currency_rate: f64,\n) -> Vec<ExpandedItem> {\n    components\n        .into_iter()\n        .filter_map(|component| {\n            let id = component.get(\"id\")?.as_str()?;\n            let price = component.get(\"price\")?.as_str()?;\n            let quantity = component\n                .get(\"quantity\")\n                .and_then(|q| q.as_u64())\n                .unwrap_or(1);\n\n            let price_float = price.parse::<f64>().ok()?;\n            let adjusted_price = price_float * presentment_currency_rate;\n\n            Some(ExpandedItem {\n                merchandise_id: id.to_string(),\n                quantity: quantity as i64,\n                price: Some(ExpandedItemPriceAdjustment {\n                    adjustment: ExpandedItemPriceAdjustmentValue::FixedPricePerUnit(\n                        ExpandedItemFixedPricePerUnitAdjustment {\n                            amount: Decimal(adjusted_price),\n                        },\n                    ),\n                }),\n                attributes: None,\n            })\n        })\n        .collect()\n}\n"
  },
  {
    "path": "sample-apps/bundles-price-per-component/package.json",
    "content": "{\n  \"name\": \"bundles-price-per-component\",\n  \"version\": \"1.0.0\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"shopify\",\n    \"build\": \"shopify app build\",\n    \"dev\": \"shopify app dev\",\n    \"info\": \"shopify app info\",\n    \"generate\": \"shopify app generate\",\n    \"deploy\": \"shopify app deploy\"\n  },\n  \"dependencies\": {\n    \"@shopify/app\": \"3.49.5\",\n    \"@shopify/cli\": \"3.49.5\"\n  },\n  \"author\": \"spin\",\n  \"private\": true,\n  \"workspaces\": [\n    \"extensions/*\"\n  ]\n}"
  },
  {
    "path": "sample-apps/bundles-price-per-component/shopify.app.toml",
    "content": "# This file stores configurations for your Shopify app.\n# It must exist at the root of your app.\n\nscopes = \"\"\n"
  },
  {
    "path": "sample-apps/delivery-customizations/.dockerignore",
    "content": ".cache\nbuild\nnode_modules\n"
  },
  {
    "path": "sample-apps/delivery-customizations/.editorconfig",
    "content": "# editorconfig.org\nroot = true\n\n[*]\ncharset = utf-8\nindent_size = 2\nindent_style = space\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n# Markdown syntax specifies that trailing whitespaces can be meaningful,\n# so let’s not trim those. e.g. 2 trailing spaces = linebreak (<br />)\n# See https://daringfireball.net/projects/markdown/syntax#p\n[*.md]\ntrim_trailing_whitespace = false\n"
  },
  {
    "path": "sample-apps/delivery-customizations/.eslintignore",
    "content": "node_modules\nbuild\npublic/build\n*/*.yml\n.shopify\n"
  },
  {
    "path": "sample-apps/delivery-customizations/.eslintrc.cjs",
    "content": "/**\n * This is intended to be a basic starting point for linting in your app.\n * It relies on recommended configs out of the box for simplicity, but you can\n * and should modify this configuration to best suit your team's needs.\n */\n\n/** @type {import('eslint').Linter.Config} */\nmodule.exports = {\n  root: true,\n  parserOptions: {\n    ecmaVersion: \"latest\",\n    sourceType: \"module\",\n    ecmaFeatures: {\n      jsx: true,\n    },\n  },\n  env: {\n    browser: true,\n    commonjs: true,\n    es6: true,\n  },\n  ignorePatterns: [\"!**/.server\", \"!**/.client\"],\n\n  // Base config\n  extends: [\"eslint:recommended\"],\n\n  overrides: [\n    // React\n    {\n      files: [\"**/*.{js,jsx,ts,tsx}\"],\n      plugins: [\"react\", \"jsx-a11y\"],\n      extends: [\n        \"plugin:react/recommended\",\n        \"plugin:react/jsx-runtime\",\n        \"plugin:react-hooks/recommended\",\n        \"plugin:jsx-a11y/recommended\",\n      ],\n      settings: {\n        react: {\n          version: \"detect\",\n        },\n        formComponents: [\"Form\"],\n        linkComponents: [\n          { name: \"Link\", linkAttribute: \"to\" },\n          { name: \"NavLink\", linkAttribute: \"to\" },\n        ],\n        \"import/resolver\": {\n          typescript: {},\n        },\n      },\n    },\n\n    // Typescript\n    {\n      files: [\"**/*.{ts,tsx}\"],\n      plugins: [\"@typescript-eslint\", \"import\"],\n      parser: \"@typescript-eslint/parser\",\n      settings: {\n        \"import/internal-regex\": \"^~/\",\n        \"import/resolver\": {\n          node: {\n            extensions: [\".ts\", \".tsx\"],\n          },\n          typescript: {\n            alwaysTryTypes: true,\n          },\n        },\n      },\n      extends: [\n        \"plugin:@typescript-eslint/recommended\",\n        \"plugin:import/recommended\",\n        \"plugin:import/typescript\",\n      ],\n    },\n\n    // Node\n    {\n      files: [\".eslintrc.cjs\"],\n      env: {\n        node: true,\n      },\n    },\n  ],\n};\n"
  },
  {
    "path": "sample-apps/delivery-customizations/.gitignore",
    "content": "node_modules\n\n/.cache\n/build\n/app/build\n/public/build/\n/public/_dev\n/app/public/build\n/prisma/dev.sqlite\n/prisma/dev.sqlite-journal\ndatabase.sqlite\n\n.env\n.env.*\n\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\n\n/extensions/*/dist\n\n# Ignore shopify files created during app dev\n.shopify/*\n.shopify.lock\n\n# Hide files auto-generated by react router\n.react-router/\n\n"
  },
  {
    "path": "sample-apps/delivery-customizations/.graphqlrc.ts",
    "content": "import fs from \"fs\";\nimport { LATEST_API_VERSION } from \"@shopify/shopify-api\";\nimport { shopifyApiProject, ApiType } from \"@shopify/api-codegen-preset\";\nimport type { IGraphQLConfig } from \"graphql-config\";\n\nfunction getConfig() {\n  const config: IGraphQLConfig = {\n    projects: {\n      default: shopifyApiProject({\n        apiType: ApiType.Admin,\n        apiVersion: LATEST_API_VERSION,\n        documents: [\"./app/**/*.{js,ts,jsx,tsx}\", \"./app/.server/**/*.{js,ts,jsx,tsx}\"],\n        outputDir: \"./app/types\",\n      }),\n    },\n  };\n\n  let extensions: string[] = [];\n  try {\n    extensions = fs.readdirSync(\"./extensions\");\n  } catch {\n    // ignore if no extensions\n  }\n\n  for (const entry of extensions) {\n    const extensionPath = `./extensions/${entry}`;\n    const schema = `${extensionPath}/schema.graphql`;\n    if (!fs.existsSync(schema)) {\n      continue;\n    }\n    config.projects[entry] = {\n      schema,\n      documents: [`${extensionPath}/**/*.graphql`],\n    };\n  }\n\n  return config;\n}\n\nconst config = getConfig();\n\nexport default config;\n"
  },
  {
    "path": "sample-apps/delivery-customizations/.npmrc",
    "content": "engine-strict=true\nauto-install-peers=true\nshamefully-hoist=true\nenable-pre-post-scripts=true\n"
  },
  {
    "path": "sample-apps/delivery-customizations/.prettierignore",
    "content": "package.json\n.shadowenv.d\n.vscode\nnode_modules\nprisma\npublic\n.shopify\n"
  },
  {
    "path": "sample-apps/delivery-customizations/CHANGELOG.md",
    "content": "# @shopify/shopify-app-template-react-router\n\n## July 2025\n\nForked the [shopify-app-template repo](https://github.com/Shopify/shopify-app-template-remix)\n\n# @shopify/shopify-app-template-remix\n\n## 2025.03.18\n\n-[#998](https://github.com/Shopify/shopify-app-template-remix/pull/998) Update to Vite 6\n\n## 2025.03.01\n\n- [#982](https://github.com/Shopify/shopify-app-template-remix/pull/982) Add Shopify Dev Assistant extension to the VSCode extension recommendations\n\n## 2025.01.31\n\n- [#952](https://github.com/Shopify/shopify-app-template-remix/pull/952) Update to Shopify App API v2025-01\n\n## 2025.01.23\n\n- [#923](https://github.com/Shopify/shopify-app-template-remix/pull/923) Update `@shopify/shopify-app-session-storage-prisma` to v6.0.0\n\n## 2025.01.8\n\n- [#923](https://github.com/Shopify/shopify-app-template-remix/pull/923) Enable GraphQL autocomplete for Javascript\n\n## 2024.12.19\n\n- [#904](https://github.com/Shopify/shopify-app-template-remix/pull/904) bump `@shopify/app-bridge-react` to latest\n-\n## 2024.12.18\n\n- [875](https://github.com/Shopify/shopify-app-template-remix/pull/875) Add Scopes Update Webhook\n## 2024.12.05\n\n- [#910](https://github.com/Shopify/shopify-app-template-remix/pull/910) Install `openssl` in Docker image to fix Prisma (see [#25817](https://github.com/prisma/prisma/issues/25817#issuecomment-2538544254))\n- [#907](https://github.com/Shopify/shopify-app-template-remix/pull/907) Move `@remix-run/fs-routes` to `dependencies` to fix Docker image build\n- [#899](https://github.com/Shopify/shopify-app-template-remix/pull/899) Disable v3_singleFetch flag\n- [#898](https://github.com/Shopify/shopify-app-template-remix/pull/898) Enable the `removeRest` future flag so new apps aren't tempted to use the REST Admin API.\n\n## 2024.12.04\n\n- [#891](https://github.com/Shopify/shopify-app-template-remix/pull/891) Enable remix future flags.\n\n## 2024.11.26\n\n- [888](https://github.com/Shopify/shopify-app-template-remix/pull/888) Update restResources version to 2024-10\n\n## 2024.11.06\n\n- [881](https://github.com/Shopify/shopify-app-template-remix/pull/881) Update to the productCreate mutation to use the new ProductCreateInput type\n\n## 2024.10.29\n\n- [876](https://github.com/Shopify/shopify-app-template-remix/pull/876) Update shopify-app-remix to v3.4.0 and shopify-app-session-storage-prisma to v5.1.5\n\n## 2024.10.02\n\n- [863](https://github.com/Shopify/shopify-app-template-remix/pull/863) Update to Shopify App API v2024-10 and shopify-app-remix v3.3.2\n\n## 2024.09.18\n\n- [850](https://github.com/Shopify/shopify-app-template-remix/pull/850) Removed \"~\" import alias\n\n## 2024.09.17\n\n- [842](https://github.com/Shopify/shopify-app-template-remix/pull/842) Move webhook processing to individual routes\n\n## 2024.08.19\n\nReplaced deprecated `productVariantUpdate` with `productVariantsBulkUpdate`\n\n## v2024.08.06\n\nAllow `SHOP_REDACT` webhook to process without admin context\n\n## v2024.07.16\n\nStarted tracking changes and releases using calver\n"
  },
  {
    "path": "sample-apps/delivery-customizations/Dockerfile",
    "content": "FROM node:18-alpine\nRUN apk add --no-cache openssl\n\nEXPOSE 3000\n\nWORKDIR /app\n\nENV NODE_ENV=production\n\nCOPY package.json package-lock.json* ./\n\nRUN npm ci --omit=dev && npm cache clean --force\n# Remove CLI packages since we don't need them in production by default.\n# Remove this line if you want to run CLI commands in your container.\nRUN npm remove @shopify/cli\n\nCOPY . .\n\nRUN npm run build\n\nCMD [\"npm\", \"run\", \"docker-start\"]\n"
  },
  {
    "path": "sample-apps/delivery-customizations/README.md",
    "content": "# Shopify App Template - React Router\n\nThis is a template for building a [Shopify app](https://shopify.dev/docs/apps/getting-started) using [React Router](https://reactrouter.com/).  It was forked from the [Shopify Remix app template](https://github.com/Shopify/shopify-app-template-remix) and converted to React Router.\n\nRather than cloning this repo, you can use your preferred package manager and the Shopify CLI with [these steps](https://shopify.dev/docs/apps/getting-started/create).\n\nVisit the [`shopify.dev` documentation](https://shopify.dev/docs/api/shopify-app-react-router) for more details on the React Router app package.\n\n## Quick start\n\n### Prerequisites\n\nBefore you begin, you'll need the following:\n\n1. **Node.js**: [Download and install](https://nodejs.org/en/download/) it if you haven't already.\n2. **Shopify Partner Account**: [Create an account](https://partners.shopify.com/signup) if you don't have one.\n3. **Test Store**: Set up either a [development store](https://help.shopify.com/en/partners/dashboard/development-stores#create-a-development-store) or a [Shopify Plus sandbox store](https://help.shopify.com/en/partners/dashboard/managing-stores/plus-sandbox-store) for testing your app.\n4. **Shopify CLI**: [Download and install](https://shopify.dev/docs/apps/tools/cli/getting-started) it if you haven't already.\n```shell\nnpm install -g @shopify/cli@latest\n```\n\n### Setup\n\n```shell\nshopify app init --template=https://github.com/Shopify/shopify-app-template-react-router\n```\n\n### Local Development\n\n```shell\nshopify app dev\n```\n\nPress P to open the URL to your app. Once you click install, you can start development.\n\nLocal development is powered by [the Shopify CLI](https://shopify.dev/docs/apps/tools/cli). It logs into your partners account, connects to an app, provides environment variables, updates remote config, creates a tunnel and provides commands to generate extensions.\n\n### Authenticating and querying data\n\nTo authenticate and query data you can use the `shopify` const that is exported from `/app/shopify.server.js`:\n\n```js\nexport async function loader({ request }) {\n  const { admin } = await shopify.authenticate.admin(request);\n\n  const response = await admin.graphql(`\n    {\n      products(first: 25) {\n        nodes {\n          title\n          description\n        }\n      }\n    }`);\n\n  const {\n    data: {\n      products: { nodes },\n    },\n  } = await response.json();\n\n  return nodes;\n}\n```\n\nThis template comes pre-configured with examples of:\n\n1. Setting up your Shopify app in [/app/shopify.server.ts](https://github.com/Shopify/shopify-app-template-react-router/blob/main/app/shopify.server.ts)\n2. Querying data using Graphql. Please see: [/app/routes/app.\\_index.tsx](https://github.com/Shopify/shopify-app-template-react-router/blob/main/app/routes/app._index.tsx).\n3. Responding to webhooks. Please see [/app/routes/webhooks.tsx](https://github.com/Shopify/shopify-app-template-react-router/blob/main/app/routes/webhooks.app.uninstalled.tsx).\n\nPlease read the [documentation for @shopify/shopify-app-react-router](https://shopify.dev/docs/api/shopify-app-react-router) to see what other API's are available.\n\n## Deployment\n\n### Application Storage\n\nThis template uses [Prisma](https://www.prisma.io/) to store session data, by default using an [SQLite](https://www.sqlite.org/index.html) database.\nThe database is defined as a Prisma schema in `prisma/schema.prisma`.\n\nThis use of SQLite works in production if your app runs as a single instance.\nThe database that works best for you depends on the data your app needs and how it is queried.\nHere’s a short list of databases providers that provide a free tier to get started:\n\n| Database   | Type             | Hosters                                                                                                                                                                                                                               |\n| ---------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| MySQL      | SQL              | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-mysql), [Planet Scale](https://planetscale.com/), [Amazon Aurora](https://aws.amazon.com/rds/aurora/), [Google Cloud SQL](https://cloud.google.com/sql/docs/mysql) |\n| PostgreSQL | SQL              | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-postgresql), [Amazon Aurora](https://aws.amazon.com/rds/aurora/), [Google Cloud SQL](https://cloud.google.com/sql/docs/postgres)                                   |\n| Redis      | Key-value        | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-redis), [Amazon MemoryDB](https://aws.amazon.com/memorydb/)                                                                                                        |\n| MongoDB    | NoSQL / Document | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-mongodb), [MongoDB Atlas](https://www.mongodb.com/atlas/database)                                                                                                  |\n\nTo use one of these, you can use a different [datasource provider](https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#datasource) in your `schema.prisma` file, or a different [SessionStorage adapter package](https://github.com/Shopify/shopify-api-js/blob/main/packages/shopify-api/docs/guides/session-storage.md).\n\n### Build\n\nBuild the app by running the command below with the package manager of your choice:\n\nUsing yarn:\n\n```shell\nyarn build\n```\n\nUsing npm:\n\n```shell\nnpm run build\n```\n\nUsing pnpm:\n\n```shell\npnpm run build\n```\n\n## Hosting\n\nWhen you're ready to set up your app in production, you can follow [our deployment documentation](https://shopify.dev/docs/apps/deployment/web) to host your app on a cloud provider like [Heroku](https://www.heroku.com/) or [Fly.io](https://fly.io/).\n\nWhen you reach the step for [setting up environment variables](https://shopify.dev/docs/apps/deployment/web#set-env-vars), you also need to set the variable `NODE_ENV=production`.\n\n\n## Gotchas / Troubleshooting\n\n### Database tables don't exist\n\nIf you get an error like:\n\n```\nThe table `main.Session` does not exist in the current database.\n```\n\nCreate the database for Prisma. Run the `setup` script in `package.json` using `npm`, `yarn` or `pnpm`.\n\n### Navigating/redirecting breaks an embedded app\n\nEmbedded apps must maintain the user session, which can be tricky inside an iFrame. To avoid issues:\n\n1. Use `Link` from `react-router` or `@shopify/polaris`. Do not use `<a>`.\n2. Use `redirect` returned from `authenticate.admin`. Do not use `redirect` from `react-router`\n3. Use `useSubmit` from `react-router`.\n\nThis only applies if your app is embedded, which it will be by default.\n\n### App goes into a loop when I change my app's scopes\n\nIf you change your app's scopes and authentication goes into a loop before failing after trying too many times, you might have forgotten to update your scopes with Shopify. Update your scopes.\n\nUsing yarn:\n\n```shell\nyarn deploy\n```\n\nUsing npm:\n\n```shell\nnpm run deploy\n```\n\nUsing pnpm:\n\n```shell\npnpm run deploy\n```\n\n### Webhooks: shop-specific webhook subscriptions aren't updated\n\nIf you are registering webhooks in the `afterAuth` hook, using `shopify.registerWebhooks`, you may find that your subscriptions aren't being updated.  \n\nInstead of using the `afterAuth` hook declare app-specific webhooks in the `shopify.app.toml` file.  This approach is easier since Shopify will automatically sync changes every time you run `deploy` (e.g: `npm run deploy`).  Please read these guides to understand more:\n\n1. [app-specific vs shop-specific webhooks](https://shopify.dev/docs/apps/build/webhooks/subscribe#app-specific-subscriptions)\n2. [Create a subscription tutorial](https://shopify.dev/docs/apps/build/webhooks/subscribe/get-started?framework=remix&deliveryMethod=https)\n\nIf you do need shop-specific webhooks, keep in mind that the package calls `afterAuth` in 2 scenarios:\n\n- After installing the app\n- When an access token expires\n\nDuring normal development, the app won't need to re-authenticate most of the time, so shop-specific subscriptions aren't updated. To force your app to update the subscriptions, uninstall and reinstall the app. Revisiting the app will call the `afterAuth` hook.\n\n### Webhooks: Admin created webhook failing HMAC validation\n\nWebhooks subscriptions created in the [Shopify admin](https://help.shopify.com/en/manual/orders/notifications/webhooks) will fail HMAC validation. This is because the webhook payload is not signed with your app's secret key.  \n\nThe recommended solution is to use [app-specific webhooks](https://shopify.dev/docs/apps/build/webhooks/subscribe#app-specific-subscriptions) defined in your toml file instead.  Test your webhooks by triggering events manually in the Shopify admin(e.g. Updating the product title to trigger a `PRODUCTS_UPDATE`).\n\n### Webhooks: Admin object undefined on webhook events triggered by the CLI\n\nWhen you trigger a webhook event using the Shopify CLI, the `admin` object will be `undefined`. This is because the CLI triggers an event with a valid, but non-existent, shop. The `admin` object is only available when the webhook is triggered by a shop that has installed the app.  This is expected.\n\nWebhooks triggered by the CLI are intended for initial experimentation testing of your webhook configuration. For more information on how to test your webhooks, see the [Shopify CLI documentation](https://shopify.dev/docs/apps/tools/cli/commands#webhook-trigger).\n\n### Incorrect GraphQL Hints\n\nBy default the [graphql.vscode-graphql](https://marketplace.visualstudio.com/items?itemName=GraphQL.vscode-graphql) extension for will assume that GraphQL queries or mutations are for the [Shopify Admin API](https://shopify.dev/docs/api/admin). This is a sensible default, but it may not be true if:\n\n1. You use another Shopify API such as the storefront API.\n2. You use a third party GraphQL API.\n\nIf so, please update [.graphqlrc.ts](https://github.com/Shopify/shopify-app-template-react-router/blob/main/.graphqlrc.ts).\n\n### Using Defer & await for streaming responses\n\nBy default the CLI uses a cloudflare tunnel. Unfortunately  cloudflare tunnels wait for the Response stream to finish, then sends one chunk.  This will not affect production.\n\nTo test [streaming using await](https://reactrouter.com/api/components/Await#await) during local development we recommend [localhost based development](https://shopify.dev/docs/apps/build/cli-for-apps/networking-options#localhost-based-development).\n\n### Using MongoDB and Prisma\n\nBy default this template uses SQLlite as the database. It is recommended to move to a persisted database for production. If you choose to use MongoDB, you will need to make some modifications to the schema and prisma configuration. For more information please see the [Prisma MongoDB documentation](https://www.prisma.io/docs/orm/overview/databases/mongodb).\n\nAlternatively you can use a MongDB database directly with the [MongoDB session storage adapter](https://github.com/Shopify/shopify-app-js/tree/main/packages/apps/session-storage/shopify-app-session-storage-mongodb).\n\n#### Mapping the id field\n\nIn MongoDB, an ID must be a single field that defines an `@id` attribute and a `@map(\"\\_id\")` attribute.\nThe prisma adapter expects the ID field to be the ID of the session, and not the \\_id field of the document.\n\nTo make this work add a new field to the schema that maps the \\_id field to the id field. For more information see the [Prisma documentation](https://www.prisma.io/docs/orm/prisma-schema/data-model/models#defining-an-id-field)\n\n```prisma\nmodel Session {\n  session_id  String    @id @default(auto()) @map(\"_id\") @db.ObjectId\n  id          String    @unique\n...\n}\n```\n\n#### Error: The \"mongodb\" provider is not supported with this command\n\nMongoDB does not support the [prisma migrate](https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate/overview) command. Instead, you can use the [prisma db push](https://www.prisma.io/docs/orm/reference/prisma-cli-reference#db-push) command and update the `shopify.web.toml` file with the following commands. If you are using MongoDB please see the [Prisma documentation](https://www.prisma.io/docs/orm/overview/databases/mongodb) for more information.\n\n```toml\n[commands]\npredev = \"npx prisma generate && npx prisma db push\"\ndev = \"npx prisma migrate deploy && npm exec react-router dev\"\n```\n\n#### Prisma needs to perform transactions, which requires your mongodb server to be run as a replica set\n\nSee the [Prisma documentation](https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch/mongodb/connect-your-database-node-mongodb) for connecting to a MongoDB database.\n\n### \"nbf\" claim timestamp check failed\n\nThis is because a JWT token is expired.  If you  are consistently getting this error, it could be that the clock on your machine is not in sync with the server.  To fix this ensure you have enabled \"Set time and date automatically\" in the \"Date and Time\" settings on your computer.\n\n\n## Resources\n\nReact Router:\n\n- [React Router docs](https://reactrouter.com/home)\n\nShopify:\n\n- [Intro to Shopify apps](https://shopify.dev/docs/apps/getting-started)\n- [Shopify App React Router docs](https://shopify.dev/docs/api/shopify-app-react-router)\n- [Shopify CLI](https://shopify.dev/docs/apps/tools/cli)\n- [Shopify App Bridge](https://shopify.dev/docs/api/app-bridge-library).\n- [Polaris Web Components](https://shopify.dev/docs/api/app-home/polaris-web-components).\n- [App extensions](https://shopify.dev/docs/apps/app-extensions/list)\n- [Shopify Functions](https://shopify.dev/docs/api/functions)\n\nInternationalization:\n\n- [Internationalizing your app](https://shopify.dev/docs/apps/best-practices/internationalization/getting-started)\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/db.server.ts",
    "content": "import { PrismaClient } from \"@prisma/client\";\n\ndeclare global {\n  // eslint-disable-next-line no-var\n  var prismaGlobal: PrismaClient;\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n  if (!global.prismaGlobal) {\n    global.prismaGlobal = new PrismaClient();\n  }\n}\n\nconst prisma = global.prismaGlobal ?? new PrismaClient();\n\nexport default prisma;\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/entry.server.tsx",
    "content": "import { PassThrough } from \"stream\";\nimport { renderToPipeableStream } from \"react-dom/server\";\nimport { ServerRouter } from \"react-router\";\nimport { createReadableStreamFromReadable } from \"@react-router/node\";\nimport { type EntryContext } from \"react-router\";\nimport { isbot } from \"isbot\";\nimport { addDocumentResponseHeaders } from \"./shopify.server\";\n\nexport const streamTimeout = 5000;\n\nexport default async function handleRequest(\n  request: Request,\n  responseStatusCode: number,\n  responseHeaders: Headers,\n  reactRouterContext: EntryContext\n) {\n  addDocumentResponseHeaders(request, responseHeaders);\n  const userAgent = request.headers.get(\"user-agent\");\n  const callbackName = isbot(userAgent ?? '')\n    ? \"onAllReady\"\n    : \"onShellReady\";\n\n  return new Promise((resolve, reject) => {\n    const { pipe, abort } = renderToPipeableStream(\n      <ServerRouter\n        context={reactRouterContext}\n        url={request.url}\n      />,\n      {\n        [callbackName]: () => {\n          const body = new PassThrough();\n          const stream = createReadableStreamFromReadable(body);\n\n          responseHeaders.set(\"Content-Type\", \"text/html\");\n          resolve(\n            new Response(stream, {\n              headers: responseHeaders,\n              status: responseStatusCode,\n            })\n          );\n          pipe(body);\n        },\n        onShellError(error) {\n          reject(error);\n        },\n        onError(error) {\n          responseStatusCode = 500;\n          console.error(error);\n        },\n      }\n    );\n\n    // Automatically timeout the React renderer after 6 seconds, which ensures\n    // React has enough time to flush down the rejected boundary contents\n    setTimeout(abort, streamTimeout + 1000);\n  });\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/globals.d.ts",
    "content": "declare module \"*.css\";\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/root.tsx",
    "content": "import { Links, Meta, Outlet, Scripts, ScrollRestoration } from \"react-router\";\n\nexport default function App() {\n  return (\n    <html lang=\"en\">\n      <head>\n        <meta charSet=\"utf-8\" />\n        <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n        <link rel=\"preconnect\" href=\"https://cdn.shopify.com/\" />\n        <link\n          rel=\"stylesheet\"\n          href=\"https://cdn.shopify.com/static/fonts/inter/v4/styles.css\"\n        />\n        <Meta />\n        <Links />\n      </head>\n      <body>\n        <Outlet />\n        <ScrollRestoration />\n        <Scripts />\n      </body>\n    </html>\n  );\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/_index/route.tsx",
    "content": "import type { LoaderFunctionArgs } from \"react-router\";\nimport { redirect } from \"react-router\";\nimport { Form, useLoaderData } from \"react-router\";\n\nimport { login } from \"../../shopify.server\";\n\nimport styles from \"./styles.module.css\";\n\nexport const loader = async ({ request }: LoaderFunctionArgs) => {\n  const url = new URL(request.url);\n\n  if (url.searchParams.get(\"shop\")) {\n    throw redirect(`/app?${url.searchParams.toString()}`);\n  }\n\n  return { showForm: Boolean(login) };\n};\n\nexport default function App() {\n  const { showForm } = useLoaderData<typeof loader>();\n\n  return (\n    <div className={styles.index}>\n      <div className={styles.content}>\n        <h1 className={styles.heading}>A short heading about [your app]</h1>\n        <p className={styles.text}>\n          A tagline about [your app] that describes your value proposition.\n        </p>\n        {showForm && (\n          <Form className={styles.form} method=\"post\" action=\"/auth/login\">\n            <label className={styles.label}>\n              <span>Shop domain</span>\n              <input className={styles.input} type=\"text\" name=\"shop\" />\n              <span>e.g: my-shop-domain.myshopify.com</span>\n            </label>\n            <button className={styles.button} type=\"submit\">\n              Log in\n            </button>\n          </Form>\n        )}\n        <ul className={styles.list}>\n          <li>\n            <strong>Product feature</strong>. Some detail about your feature and\n            its benefit to your customer.\n          </li>\n          <li>\n            <strong>Product feature</strong>. Some detail about your feature and\n            its benefit to your customer.\n          </li>\n          <li>\n            <strong>Product feature</strong>. Some detail about your feature and\n            its benefit to your customer.\n          </li>\n        </ul>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/_index/styles.module.css",
    "content": ".index {\n  align-items: center;\n  display: flex;\n  justify-content: center;\n  height: 100%;\n  width: 100%;\n  text-align: center;\n  padding: 1rem;\n}\n\n.heading,\n.text {\n  padding: 0;\n  margin: 0;\n}\n\n.text {\n  font-size: 1.2rem;\n  padding-bottom: 2rem;\n}\n\n.content {\n  display: grid;\n  gap: 2rem;\n}\n\n.form {\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  margin: 0 auto;\n  gap: 1rem;\n}\n\n.label {\n  display: grid;\n  gap: 0.2rem;\n  max-width: 20rem;\n  text-align: left;\n  font-size: 1rem;\n}\n\n.input {\n  padding: 0.4rem;\n}\n\n.button {\n  padding: 0.4rem;\n}\n\n.list {\n  list-style: none;\n  padding: 0;\n  padding-top: 3rem;\n  margin: 0;\n  display: flex;\n  gap: 2rem;\n}\n\n.list > li {\n  max-width: 20rem;\n  text-align: left;\n}\n\n@media only screen and (max-width: 50rem) {\n  .list {\n    display: block;\n  }\n\n  .list > li {\n    padding-bottom: 1rem;\n  }\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/app._index.tsx",
    "content": "import { useEffect } from \"react\";\nimport type {\n  ActionFunctionArgs,\n  HeadersFunction,\n  LoaderFunctionArgs,\n} from \"react-router\";\nimport { useFetcher } from \"react-router\";\nimport { TitleBar, useAppBridge } from \"@shopify/app-bridge-react\";\nimport { authenticate } from \"../shopify.server\";\nimport { boundary } from \"@shopify/shopify-app-react-router/server\";\n\nexport const loader = async ({ request }: LoaderFunctionArgs) => {\n  await authenticate.admin(request);\n\n  return null;\n};\n\nexport const action = async ({ request }: ActionFunctionArgs) => {\n  const { admin } = await authenticate.admin(request);\n  const color = [\"Red\", \"Orange\", \"Yellow\", \"Green\"][\n    Math.floor(Math.random() * 4)\n  ];\n  const response = await admin.graphql(\n    `#graphql\n      mutation populateProduct($product: ProductCreateInput!) {\n        productCreate(product: $product) {\n          product {\n            id\n            title\n            handle\n            status\n            variants(first: 10) {\n              edges {\n                node {\n                  id\n                  price\n                  barcode\n                  createdAt\n                }\n              }\n            }\n          }\n        }\n      }`,\n    {\n      variables: {\n        product: {\n          title: `${color} Snowboard`,\n        },\n      },\n    },\n  );\n  const responseJson = await response.json();\n\n  const product = responseJson.data!.productCreate!.product!;\n  const variantId = product.variants.edges[0]!.node!.id!;\n\n  const variantResponse = await admin.graphql(\n    `#graphql\n    mutation shopifyReactRouterTemplateUpdateVariant($productId: ID!, $variants: [ProductVariantsBulkInput!]!) {\n      productVariantsBulkUpdate(productId: $productId, variants: $variants) {\n        productVariants {\n          id\n          price\n          barcode\n          createdAt\n        }\n      }\n    }`,\n    {\n      variables: {\n        productId: product.id,\n        variants: [{ id: variantId, price: \"100.00\" }],\n      },\n    },\n  );\n\n  const variantResponseJson = await variantResponse.json();\n\n  return {\n    product: responseJson!.data!.productCreate!.product,\n    variant:\n      variantResponseJson!.data!.productVariantsBulkUpdate!.productVariants,\n  };\n};\n\nexport default function Index() {\n  const fetcher = useFetcher<typeof action>();\n\n  const shopify = useAppBridge();\n  const isLoading =\n    [\"loading\", \"submitting\"].includes(fetcher.state) &&\n    fetcher.formMethod === \"POST\";\n  const productId = fetcher.data?.product?.id.replace(\n    \"gid://shopify/Product/\",\n    \"\",\n  );\n\n  useEffect(() => {\n    if (productId) {\n      shopify.toast.show(\"Product created\");\n    }\n  }, [productId, shopify]);\n  const generateProduct = () => fetcher.submit({}, { method: \"POST\" });\n\n  return (\n    <s-page heading=\"React Router app template\">\n      <s-button variant=\"primary\" onClick={generateProduct} slot=\"primary-action\">Generate a product</s-button>\n      <s-section heading=\"Congrats on creating a new Shopify app 🎉\">\n        <s-paragraph>\n          This embedded app template uses{\" \"}\n          <s-link\n            href=\"https://shopify.dev/docs/apps/tools/app-bridge\"\n            target=\"_blank\"\n          >\n            App Bridge\n          </s-link>{\" \"}\n          interface examples like an{\" \"}\n          <s-link href=\"/app/additional\">additional page in the app nav</s-link>\n          , as well as an{\" \"}\n          <s-link\n            href=\"https://shopify.dev/docs/api/admin-graphql\"\n            target=\"_blank\"\n          >\n            Admin GraphQL\n          </s-link>{\" \"}\n          mutation demo, to provide a starting point for app development.\n        </s-paragraph>\n      </s-section>\n      <s-section heading=\"Get started with products\">\n        <s-paragraph>\n          Generate a product with GraphQL and get the JSON output for that\n          product. Learn more about the{\" \"}\n          <s-link\n            href=\"https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate\"\n            target=\"_blank\"\n          >\n            productCreate\n          </s-link>{\" \"}\n          mutation in our API references.\n        </s-paragraph>\n        <s-stack direction=\"inline\" gap=\"base\">\n          <s-button\n            onClick={generateProduct}\n            {...(isLoading ? { loading: \"true\" } : {})}\n          >\n            Generate a product\n          </s-button>\n          {fetcher.data?.product && (\n            <s-button\n              href={`shopify:admin/products/${productId}`}\n              target=\"_blank\"\n              variant=\"tertiary\"\n            >\n              View product\n            </s-button>\n          )}\n        </s-stack>\n        {fetcher.data?.product && (\n          <s-section heading=\"productCreate mutation\">\n            <s-stack direction=\"column\" gap=\"base\">\n              <s-box\n                padding=\"base\"\n                borderWidth=\"base\"\n                borderRadius=\"base\"\n                borderColor=\"auto\"\n                background=\"subdued\"\n              >\n                <pre style={{ margin: 0 }}>\n                  <code>{JSON.stringify(fetcher.data.product, null, 2)}</code>\n                </pre>\n              </s-box>\n\n              <s-heading>productVariantsBulkUpdate mutation</s-heading>\n              <s-box\n                padding=\"base\"\n                borderWidth=\"base\"\n                borderRadius=\"base\"\n                borderColor=\"auto\"\n                background=\"subdued\"\n              >\n                <pre style={{ margin: 0 }}>\n                  <code>{JSON.stringify(fetcher.data.variant, null, 2)}</code>\n                </pre>\n              </s-box>\n            </s-stack>\n          </s-section>\n        )}\n      </s-section>\n\n      <s-section slot=\"aside\" heading=\"App template specs\">\n        <s-paragraph>\n          <s-text>Framework: </s-text>\n          <s-link href=\"https://reactrouter.com/start/framework/installation\" target=\"_blank\">\n            React Router\n          </s-link>\n        </s-paragraph>\n        <s-paragraph>\n          <s-text>Database: </s-text>\n          <s-link href=\"https://www.prisma.io/\" target=\"_blank\">\n            Prisma\n          </s-link>\n        </s-paragraph>\n        <s-paragraph>\n          <s-text>Interface: </s-text>\n          <s-link href=\"https://shopify.dev/docs/api/app-home/polaris-web-components\" target=\"_blank\">\n            Polaris\n          </s-link>\n        </s-paragraph>\n        <s-paragraph>\n          <s-text>API: </s-text>\n          <s-link\n            href=\"https://shopify.dev/docs/api/admin-graphql\"\n            target=\"_blank\"\n          >\n            GraphQL\n          </s-link>\n        </s-paragraph>\n      </s-section>\n\n      <s-section slot=\"aside\" heading=\"Next steps\">\n        <s-unordered-list>\n          <s-list-item>\n            Build an{\" \"}\n            <s-link\n              href=\"https://shopify.dev/docs/apps/getting-started/build-app-example\"\n              target=\"_blank\"\n            >\n              example app\n            </s-link>\n          </s-list-item>\n          <s-list-item>\n            Explore Shopify's API with{\" \"}\n            <s-link\n              href=\"https://shopify.dev/docs/apps/tools/graphiql-admin-api\"\n              target=\"_blank\"\n            >\n              GraphiQL\n            </s-link>\n          </s-list-item>\n        </s-unordered-list>\n      </s-section>\n    </s-page>\n  );\n}\n\nexport const headers: HeadersFunction = (headersArgs) => {\n  return boundary.headers(headersArgs);\n};\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/app.additional.tsx",
    "content": "import { TitleBar } from \"@shopify/app-bridge-react\";\n\nexport default function AdditionalPage() {\n  return (\n    <s-page heading=\"Additional page\">\n      <s-section heading=\"Multiple pages\">\n        <s-paragraph>\n          The app template comes with an additional page which demonstrates how\n          to create multiple pages within app navigation using{\" \"}\n          <s-link\n            href=\"https:shopify.dev/docs/apps/tools/app-bridge\"\n            target=\"_blank\"\n          >\n            App Bridge\n          </s-link>\n          .\n        </s-paragraph>\n        <s-paragraph>\n          To create your own page and have it show up in the app navigation, add\n          a page inside <code>app/routes</code>, and a link to it in the{\" \"}\n          <code>&lt;s-app-nav&gt;</code> component found in{\" \"}\n          <code>app/routes/app.jsx</code>.\n        </s-paragraph>\n      </s-section>\n      <s-section slot=\"aside\" heading=\"Resources\">\n        <s-unordered-list>\n          <s-list-item>\n            <s-link\n              href=\"https://shopify.dev/docs/apps/design-guidelines/navigation#app-nav\"\n              target=\"_blank\"\n            >\n              App nav best practices\n            </s-link>\n          </s-list-item>\n        </s-unordered-list>\n      </s-section>\n    </s-page>\n  );\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/app.delivery-customization.$functionId.$id.tsx",
    "content": "import { useState, useEffect } from \"react\";\nimport type { FormEvent } from \"react\";\nimport {\n  useActionData,\n  useNavigation,\n  useSubmit,\n  useLoaderData,\n} from \"react-router\";\nimport type { LoaderFunctionArgs, ActionFunctionArgs } from \"react-router\";\nimport { authenticate } from \"../shopify.server\";\n\ninterface LoaderData {\n  headers: { \"Content-Type\": string };\n  body: string;\n}\n\ninterface ActionData {\n  errors: Array<{ message: string }>;\n}\n\ninterface DeliveryCustomizationData {\n  stateProvinceCode: string;\n  message: string;\n}\n\nexport const loader = async ({ params, request }: LoaderFunctionArgs): Promise<LoaderData> => {\n  const { id } = params;\n  const { admin } = await authenticate.admin(request);\n\n  if (id !== \"new\") {\n    const gid = `gid://shopify/DeliveryCustomization/${id}`;\n\n    const response = await admin.graphql(\n      `#graphql\n        query getDeliveryCustomization($id: ID!) {\n          deliveryCustomization(id: $id) {\n            id\n            title\n            enabled\n            metafield(namespace: \"$app:delivery-customization\", key: \"function-configuration\") {\n              id\n              value\n            }\n          }\n        }`,\n      {\n        variables: {\n          id: gid,\n        },\n      }\n    );\n\n    const responseJson = await response.json();\n    const deliveryCustomization = responseJson.data.deliveryCustomization;\n    const metafieldValue = JSON.parse(deliveryCustomization.metafield.value);\n\n    return {\n      headers: { \"Content-Type\": \"application/json\" },\n      body: JSON.stringify({\n        stateProvinceCode: metafieldValue.stateProvinceCode,\n        message: metafieldValue.message,\n      }),\n    };\n  }\n\n  return {\n    headers: { \"Content-Type\": \"application/json\" },\n    body: JSON.stringify({\n      stateProvinceCode: \"\",\n      message: \"\",\n    }),\n  };\n};\n\nexport const action = async ({ params, request }: ActionFunctionArgs): Promise<ActionData> => {\n  const { functionId, id } = params;\n  const { admin } = await authenticate.admin(request);\n  const formData = await request.formData();\n\n  const stateProvinceCode = formData.get(\"stateProvinceCode\") as string;\n  const message = formData.get(\"message\") as string;\n\n  const deliveryCustomizationInput = {\n    functionId,\n    title: `Change ${stateProvinceCode} delivery message`,\n    enabled: true,\n    metafields: [\n      {\n        namespace: \"$app:delivery-customization\",\n        key: \"function-configuration\",\n        type: \"json\",\n        value: JSON.stringify({\n          stateProvinceCode,\n          message,\n        }),\n      },\n    ],\n  };\n\n  if (id !== \"new\") {\n    const response = await admin.graphql(\n      `#graphql\n        mutation updateDeliveryCustomization($id: ID!, $input: DeliveryCustomizationInput!) {\n          deliveryCustomizationUpdate(id: $id, deliveryCustomization: $input) {\n            deliveryCustomization {\n              id\n            }\n            userErrors {\n              message\n            }\n          }\n        }`,\n      {\n        variables: {\n          id: `gid://shopify/DeliveryCustomization/${id}`,\n          input: deliveryCustomizationInput,\n        },\n      }\n    );\n\n    const responseJson = await response.json();\n    const errors = responseJson.data.deliveryCustomizationUpdate?.userErrors;\n\n    return { errors };\n  } else {\n    const response = await admin.graphql(\n      `#graphql\n        mutation createDeliveryCustomization($input: DeliveryCustomizationInput!) {\n          deliveryCustomizationCreate(deliveryCustomization: $input) {\n            deliveryCustomization {\n              id\n            }\n            userErrors {\n              message\n            }\n          }\n        }`,\n      {\n        variables: {\n          input: deliveryCustomizationInput,\n        },\n      }\n    );\n\n    const responseJson = await response.json();\n    const errors = responseJson.data.deliveryCustomizationCreate?.userErrors;\n\n    return { errors };\n  }\n};\n\nexport default function DeliveryCustomization() {\n  const submit = useSubmit();\n  const actionData = useActionData<ActionData>();\n  const navigation = useNavigation();\n  const loaderData = useLoaderData<LoaderData>();\n\n  const parsedLoaderData: DeliveryCustomizationData = loaderData?.body\n    ? JSON.parse(loaderData.body)\n    : { stateProvinceCode: \"\", message: \"\" };\n\n  const [stateProvinceCode, setStateProvinceCode] = useState(parsedLoaderData.stateProvinceCode);\n  const [message, setMessage] = useState(parsedLoaderData.message);\n\n  useEffect(() => {\n    if (loaderData?.body) {\n      const parsedData: DeliveryCustomizationData = JSON.parse(loaderData.body);\n      setStateProvinceCode(parsedData.stateProvinceCode || \"\");\n      setMessage(parsedData.message || \"\");\n    }\n  }, [loaderData]);\n\n  const isLoading = navigation.state === \"submitting\";\n\n  useEffect(() => {\n    if (actionData?.errors.length === 0) {\n      open('shopify:admin/settings/shipping/customizations', '_top')\n    }\n  }, [actionData?.errors]);\n\n  const errorBanner = actionData?.errors.length ? (\n    <s-banner tone=\"critical\" heading=\"There was an error creating the customization.\">\n      <ul>\n        {actionData?.errors.map((error, index) => (\n          <li key={index}>{error.message}</li>\n        ))}\n      </ul>\n    </s-banner>\n  ) : null;\n\nconst handleSubmit = (event: FormEvent<HTMLFormElement>) => {\n  event.preventDefault();\n  submit({ stateProvinceCode, message }, { method: \"post\" });\n};\n\nconst handleReset = () => {\n  setStateProvinceCode(parsedLoaderData.stateProvinceCode);\n  setMessage(parsedLoaderData.message);\n};\n\nreturn (\n  <form data-save-bar onSubmit={handleSubmit} onReset={handleReset}>\n    <s-page heading=\"Change delivery message\">\n        <s-link slot=\"breadcrumb-actions\" href=\"shopify:admin/settings/shipping/customizations\">Delivery customizations</s-link>\n\n      {errorBanner}\n\n      <s-section>\n        <s-grid gap=\"base\" gridTemplateColumns=\"1fr 1fr\">\n          <s-text-field\n            name=\"stateProvinceCode\"\n            label=\"State/Province code\"\n            value={stateProvinceCode}\n            required\n            disabled={isLoading}\n            onInput={(e: any) => setStateProvinceCode((e.target as HTMLInputElement).value)}\n          ></s-text-field>\n\n          <s-text-field\n            name=\"message\"\n            label=\"Message\"\n            value={message}\n            required\n            disabled={isLoading}\n            onInput={(e: any) => setMessage((e.target as HTMLInputElement).value)}\n          ></s-text-field>\n        </s-grid>\n      </s-section>\n    </s-page>\n  </form>\n);\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/app.tsx",
    "content": "import type { HeadersFunction, LoaderFunctionArgs } from \"react-router\";\nimport { Link, Outlet, useLoaderData, useRouteError } from \"react-router\";\nimport { boundary } from \"@shopify/shopify-app-react-router/server\";\nimport { NavMenu } from \"@shopify/app-bridge-react\";\nimport { AppProvider } from \"@shopify/shopify-app-react-router/react\";\n\nimport { authenticate } from \"../shopify.server\";\n\nexport const loader = async ({ request }: LoaderFunctionArgs) => {\n  await authenticate.admin(request);\n\n  return { apiKey: process.env.SHOPIFY_API_KEY || \"\" };\n};\n\nexport default function App() {\n  const { apiKey } = useLoaderData<typeof loader>();\n\n  return (\n    <AppProvider embedded apiKey={apiKey}>\n      <s-app-nav>\n        <s-link href=\"/app\" rel=\"home\">Home</s-link>\n        <s-link href=\"/app/additional\">Additional page</s-link>\n      </s-app-nav>\n      <Outlet />\n    </AppProvider>\n  );\n}\n\n// Shopify needs React Router to catch some thrown responses, so that their headers are included in the response.\nexport function ErrorBoundary() {\n  return boundary.error(useRouteError());\n}\n\nexport const headers: HeadersFunction = (headersArgs) => {\n  return boundary.headers(headersArgs);\n};\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/auth.$.tsx",
    "content": "\nimport type { HeadersFunction, LoaderFunctionArgs } from \"react-router\";\nimport { authenticate } from \"../shopify.server\";\nimport { boundary } from \"@shopify/shopify-app-react-router/server\";\n\nexport const loader = async ({ request }: LoaderFunctionArgs) => {\n  await authenticate.admin(request);\n\n  return null;\n};\n\nexport const headers: HeadersFunction = (headersArgs) => {\n  return boundary.headers(headersArgs);\n};\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/auth.login/error.server.tsx",
    "content": "import type { LoginError } from \"@shopify/shopify-app-react-router/server\";\nimport { LoginErrorType } from \"@shopify/shopify-app-react-router/server\";\n\ninterface LoginErrorMessage {\n  shop?: string;\n}\n\nexport function loginErrorMessage(loginErrors: LoginError): LoginErrorMessage {\n  if (loginErrors?.shop === LoginErrorType.MissingShop) {\n    return { shop: \"Please enter your shop domain to log in\" };\n  } else if (loginErrors?.shop === LoginErrorType.InvalidShop) {\n    return { shop: \"Please enter a valid shop domain to log in\" };\n  }\n\n  return {};\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/auth.login/route.tsx",
    "content": "import { useState } from \"react\";\nimport type { ActionFunctionArgs, LoaderFunctionArgs } from \"react-router\";\nimport { Form, useActionData, useLoaderData } from \"react-router\";\nimport { AppProvider } from \"@shopify/shopify-app-react-router/react\";\n\nimport { login } from \"../../shopify.server\";\nimport { loginErrorMessage } from \"./error.server\";\n\nexport const loader = async ({ request }: LoaderFunctionArgs) => {\n  const errors = loginErrorMessage(await login(request));\n\n  return { errors };\n};\n\nexport const action = async ({ request }: ActionFunctionArgs) => {\n  const errors = loginErrorMessage(await login(request));\n\n  return {\n    errors,\n  };\n};\n\nexport default function Auth() {\n  const loaderData = useLoaderData<typeof loader>();\n  const actionData = useActionData<typeof action>();\n  const [shop, setShop] = useState(\"\");\n  const { errors } = actionData || loaderData;\n\n  return (\n    <AppProvider embedded={false}>\n      <s-page>\n        <Form method=\"post\">\n          <s-section heading=\"Log in\">\n            <s-text-field\n              type=\"text\"\n              name=\"shop\"\n              label=\"Shop domain\"\n              helpText=\"example.myshopify.com\"\n              value={shop}\n              onChange={setShop}\n              autoComplete=\"on\"\n              error={errors.shop}\n            ></s-text-field>\n            <s-button submit>Log in</s-button>\n          </s-section>\n        </Form>\n      </s-page>\n    </AppProvider>\n  );\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/webhooks.app.scopes_update.tsx",
    "content": "import type { ActionFunctionArgs } from \"react-router\";\nimport { authenticate } from \"../shopify.server\";\nimport db from \"../db.server\";\n\nexport const action = async ({ request }: ActionFunctionArgs) => {\n    const { payload, session, topic, shop } = await authenticate.webhook(request);\n    console.log(`Received ${topic} webhook for ${shop}`);\n\n    const current = payload.current as string[];\n    if (session) {\n        await db.session.update({   \n            where: {\n                id: session.id\n            },\n            data: {\n                scope: current.toString(),\n            },\n        });\n    }\n    return new Response();\n};\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes/webhooks.app.uninstalled.tsx",
    "content": "import type { ActionFunctionArgs } from \"react-router\";\nimport { authenticate } from \"../shopify.server\";\nimport db from \"../db.server\";\n\nexport const action = async ({ request }: ActionFunctionArgs) => {\n  const { shop, session, topic } = await authenticate.webhook(request);\n\n  console.log(`Received ${topic} webhook for ${shop}`);\n\n  // Webhook requests can trigger multiple times and after an app has already been uninstalled.\n  // If this webhook already ran, the session may have been deleted previously.\n  if (session) {\n    await db.session.deleteMany({ where: { shop } });\n  }\n\n  return new Response();\n};\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/routes.ts",
    "content": "import { flatRoutes } from \"@react-router/fs-routes\";\n\nexport default flatRoutes();\n"
  },
  {
    "path": "sample-apps/delivery-customizations/app/shopify.server.ts",
    "content": "import \"@shopify/shopify-app-react-router/adapters/node\";\nimport {\n  ApiVersion,\n  AppDistribution,\n  shopifyApp,\n} from \"@shopify/shopify-app-react-router/server\";\nimport { PrismaSessionStorage } from \"@shopify/shopify-app-session-storage-prisma\";\nimport prisma from \"./db.server\";\n\nconst shopify = shopifyApp({\n  apiKey: process.env.SHOPIFY_API_KEY,\n  apiSecretKey: process.env.SHOPIFY_API_SECRET || \"\",\n  apiVersion: ApiVersion.January25,\n  scopes: process.env.SCOPES?.split(\",\"),\n  appUrl: process.env.SHOPIFY_APP_URL || \"\",\n  authPathPrefix: \"/auth\",\n  sessionStorage: new PrismaSessionStorage(prisma),\n  distribution: AppDistribution.AppStore,\n  future: {\n    unstable_newEmbeddedAuthStrategy: true,\n    removeRest: true,\n  },\n  ...(process.env.SHOP_CUSTOM_DOMAIN\n    ? { customShopDomains: [process.env.SHOP_CUSTOM_DOMAIN] }\n    : {}),\n});\n\nexport default shopify;\nexport const apiVersion = ApiVersion.January25;\nexport const addDocumentResponseHeaders = shopify.addDocumentResponseHeaders;\nexport const authenticate = shopify.authenticate;\nexport const unauthenticated = shopify.unauthenticated;\nexport const login = shopify.login;\nexport const registerWebhooks = shopify.registerWebhooks;\nexport const sessionStorage = shopify.sessionStorage;\n"
  },
  {
    "path": "sample-apps/delivery-customizations/env.d.ts",
    "content": "/// <reference types=\"vite/client\" />\n/// <reference types=\"@react-router/node\" />\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-js/.gitignore",
    "content": "dist\ngenerated\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-js/locales/en.default.json",
    "content": "{\n  \"name\": \"delivery-customization-js\",\n  \"description\": \"delivery-customization-js\"\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-js/package.json",
    "content": "{\n  \"name\": \"delivery-customization-js\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"0.1.0\",\n    \"javy\": \"0.1.1\"\n  }\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-js/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA customization representing how delivery options will be ordered, hidden, or renamed.\n\"\"\"\ntype DeliveryCustomization implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply to delivery options in checkout. In\nAPI versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of\n  [delivery options](https://shopify.dev/docs/apps/build/checkout/delivery-shipping/delivery-options/build-function).\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply to delivery options in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of\n  [delivery options](https://shopify.dev/docs/apps/build/checkout/delivery-shipping/delivery-options/build-function).\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nAn operation that hides a delivery option from a list that's offered to customers at checkout.\n\"\"\"\ninput HideOperation {\n  \"\"\"\n  The handle of the delivery option to hide.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function is running to define how\n  [delivery options](https://shopify.dev/apps/build/checkout/delivery-shipping/delivery-options/build-function)\n  are sorted, hidden, or renamed. It includes the\n  [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  deliveryCustomization: DeliveryCustomization!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nAn operation that sorts a list of delivery options that are offered to customers at checkout.\n\nIf you reorder shipping delivery options, then you are\n[prohibited](https://shopify.dev/docs/apps/launch/app-requirements-checklist#prohibited-app-types).\nfrom automatically selecting higher-priced delivery alternatives by default. The cheapest shipping delivery option\nmust always be the first option selected.\n\"\"\"\ninput MoveOperation {\n  \"\"\"\n  The handle of the delivery option to move.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n\n  \"\"\"\n  The target index within the delivery group to move the delivery option to.\n  \"\"\"\n  index: Int!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.delivery-customization.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the list of delivery options.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  An operation that hides a delivery option from a list that's offered to customers at checkout.\n  \"\"\"\n  hide: HideOperation\n\n  \"\"\"\n  An operation that sorts a list of delivery options that are offered to customers at checkout.\n\n  If you reorder shipping delivery options, then you are\n  [prohibited](https://shopify.dev/docs/apps/launch/app-requirements-checklist#prohibited-app-types).\n  from automatically selecting higher-priced delivery alternatives by default. The cheapest shipping delivery option\n  must always be the first option selected.\n  \"\"\"\n  move: MoveOperation\n\n  \"\"\"\n  An operation that renames a delivery option that's offered to customers at checkout.\n\n  The carrier name is automatically prepended to the delivery option title at checkout when using the\n  `RenameOperation` object, and can't be altered or omitted through the API. For example, if the carrier name\n  is **UPS** and the option is **Standard**, then you could change **UPS Standard** to **UPS Standard Shipping**,\n  but you couldn't change **UPS Standard** to **Standard Shipping**.\n  \"\"\"\n  rename: RenameOperation\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nAn operation that renames a delivery option that's offered to customers at checkout.\n\nThe carrier name is automatically prepended to the delivery option title at checkout when using the\n`RenameOperation` object, and can't be altered or omitted through the API. For example, if the carrier name\nis **UPS** and the option is **Standard**, then you could change **UPS Standard** to **UPS Standard Shipping**,\nbut you couldn't change **UPS Standard** to **Standard Shipping**.\n\"\"\"\ninput RenameOperation {\n  \"\"\"\n  The handle of the delivery option to rename.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n\n  \"\"\"\n  The new name for the delivery option.\n  \"\"\"\n  title: String!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-js/shopify.extension.toml",
    "content": "api_version = \"2024-04\"\n\n[[extensions]]\nhandle = \"delivery-customization-js\"\nname = \"t:name\"\ndescription = \"t:description\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.delivery-customization.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/app/delivery-customization/:functionId/new\"\n  details = \"/app/delivery-customization/:functionId/:id\"\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-js/src/index.js",
    "content": "export * from './run';\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-js/src/run.graphql",
    "content": "query RunInput {\n  cart {\n    deliveryGroups {\n      deliveryAddress {\n        provinceCode\n      }\n      deliveryOptions {\n        handle\n        title\n      }\n    }\n  }\n  deliveryCustomization {\n    metafield(\n      namespace: \"$app:delivery-customization\"\n      key: \"function-configuration\"\n    ) {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-js/src/run.js",
    "content": "// @ts-check\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n * @typedef {import(\"../generated/api\").Operation} Operation\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst NO_CHANGES = {\n  operations: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  /**\n   * @type {{\n  *   stateProvinceCode: string\n  *   message: number\n  * }}\n  */\n  const configuration = JSON.parse(\n    input?.deliveryCustomization?.metafield?.value ?? \"{}\"\n  );\n  if (!configuration.stateProvinceCode || !configuration.message) {\n    return NO_CHANGES;\n  }\n\n  let toRename = input.cart.deliveryGroups\n    .filter(group => group.deliveryAddress?.provinceCode &&\n      group.deliveryAddress.provinceCode == configuration.stateProvinceCode)\n    .flatMap(group => group.deliveryOptions)\n    .map(option => /** @type {Operation} */({\n      rename: {\n        deliveryOptionHandle: option.handle,\n        title: option.title ? `${option.title} - ${configuration.message}` : configuration.message\n      }\n    }));\n\n  return {\n    operations: toRename\n  };\n};\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-js/src/run.test.js",
    "content": "import { describe, it, expect } from 'vitest';\nimport { run } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\ndescribe('delivery customization function', () => {\n    it('returns no operations without configuration', () => {\n        const result = run({\n            \"cart\": {\n                \"deliveryGroups\": []\n            },\n            \"deliveryCustomization\": {\n                \"metafield\": null\n            }\n        });\n        const expected = /** @type {FunctionRunResult} */ ({ operations: [] });\n\n        expect(result).toEqual(expected);\n    });\n\n    it('renames delivery options if state/province matches', () => {\n        const result = run({\n            \"cart\": {\n                \"deliveryGroups\": [{\n                    \"deliveryAddress\": {\n                        \"provinceCode\": \"ON\"\n                    },\n                    \"deliveryOptions\": [{\n                        \"handle\": \"test_delivery_option\",\n                        \"title\": \"Test Delivery Option\"\n                    }, {\n                        \"handle\": \"test_delivery_option_2\",\n                        \"title\": \"Test Delivery Option 2\"\n                    }]\n                }]\n            },\n            \"deliveryCustomization\": {\n                \"metafield\": {\n                    \"value\": \"{\\\"stateProvinceCode\\\": \\\"ON\\\", \\\"message\\\": \\\"Test Message\\\"}\"\n                }\n            }\n        });\n        const expected = /** @type {FunctionRunResult} */ ({\n            operations: [\n                {\n                    rename: {\n                        deliveryOptionHandle: \"test_delivery_option\",\n                        title: \"Test Delivery Option - Test Message\"\n                    }\n                },\n                {\n                    rename: {\n                        deliveryOptionHandle: \"test_delivery_option_2\",\n                        title: \"Test Delivery Option 2 - Test Message\"\n                    }\n                }\n            ]\n        });\n\n        expect(result).toEqual(expected);\n    });\n\n    it('returns no operations if state/province code does not match', () => {\n        const result = run({\n            \"cart\": {\n                \"deliveryGroups\": [{\n                    \"deliveryAddress\": {\n                        \"provinceCode\": \"NC\"\n                    },\n                    \"deliveryOptions\": [{\n                        \"handle\": \"test_delivery_option\",\n                        \"title\": \"Test Delivery Option\"\n                    }]\n                }]\n            },\n            \"deliveryCustomization\": {\n                \"metafield\": {\n                    \"value\": \"{\\\"stateProvinceCode\\\": \\\"ON\\\", \\\"message\\\": \\\"Test Message\\\"}\"\n                }\n            }\n        });\n        const expected = /** @type {FunctionRunResult} */ ({ operations: [] });\n\n        expect(result).toEqual(expected);\n    });\n});\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-rust/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-rust/Cargo.toml",
    "content": "[package]\nname = \"delivery-customization-rust\"\nversion = \"1.0.0\"\nedition = \"2021\"\nrust-version = \"1.62\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-rust/locales/en.default.json",
    "content": "{\n  \"name\": \"delivery-customization-rust\",\n  \"description\": \"delivery-customization-rust\"\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-rust/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA customization representing how delivery options will be ordered, hidden, or renamed.\n\"\"\"\ntype DeliveryCustomization implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply to delivery options in checkout. In\nAPI versions 2023-10 and beyond, this type is deprecated in favor of\n`FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of\n  [delivery options](https://shopify.dev/docs/apps/build/checkout/delivery-shipping/delivery-options/build-function).\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to apply to delivery options in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of\n  [delivery options](https://shopify.dev/docs/apps/build/checkout/delivery-shipping/delivery-options/build-function).\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nAn operation that hides a delivery option from a list that's offered to customers at checkout.\n\"\"\"\ninput HideOperation {\n  \"\"\"\n  The handle of the delivery option to hide.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The backend logic that the Function is running to define how\n  [delivery options](https://shopify.dev/apps/build/checkout/delivery-shipping/delivery-options/build-function)\n  are sorted, hidden, or renamed. It includes the\n  [metafields](https://shopify.dev/docs/apps/build/custom-data)\n  that are associated with the customization.\n  \"\"\"\n  deliveryCustomization: DeliveryCustomization!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nAn operation that sorts a list of delivery options that are offered to customers at checkout.\n\nIf you reorder shipping delivery options, then you are\n[prohibited](https://shopify.dev/docs/apps/launch/app-requirements-checklist#prohibited-app-types).\nfrom automatically selecting higher-priced delivery alternatives by default. The cheapest shipping delivery option\nmust always be the first option selected.\n\"\"\"\ninput MoveOperation {\n  \"\"\"\n  The handle of the delivery option to move.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n\n  \"\"\"\n  The target index within the delivery group to move the delivery option to.\n  \"\"\"\n  index: Int!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.delivery-customization.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the list of delivery options.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  An operation that hides a delivery option from a list that's offered to customers at checkout.\n  \"\"\"\n  hide: HideOperation\n\n  \"\"\"\n  An operation that sorts a list of delivery options that are offered to customers at checkout.\n\n  If you reorder shipping delivery options, then you are\n  [prohibited](https://shopify.dev/docs/apps/launch/app-requirements-checklist#prohibited-app-types).\n  from automatically selecting higher-priced delivery alternatives by default. The cheapest shipping delivery option\n  must always be the first option selected.\n  \"\"\"\n  move: MoveOperation\n\n  \"\"\"\n  An operation that renames a delivery option that's offered to customers at checkout.\n\n  The carrier name is automatically prepended to the delivery option title at checkout when using the\n  `RenameOperation` object, and can't be altered or omitted through the API. For example, if the carrier name\n  is **UPS** and the option is **Standard**, then you could change **UPS Standard** to **UPS Standard Shipping**,\n  but you couldn't change **UPS Standard** to **Standard Shipping**.\n  \"\"\"\n  rename: RenameOperation\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nAn operation that renames a delivery option that's offered to customers at checkout.\n\nThe carrier name is automatically prepended to the delivery option title at checkout when using the\n`RenameOperation` object, and can't be altered or omitted through the API. For example, if the carrier name\nis **UPS** and the option is **Standard**, then you could change **UPS Standard** to **UPS Standard Shipping**,\nbut you couldn't change **UPS Standard** to **Standard Shipping**.\n\"\"\"\ninput RenameOperation {\n  \"\"\"\n  The handle of the delivery option to rename.\n  \"\"\"\n  deliveryOptionHandle: Handle!\n\n  \"\"\"\n  The new name for the delivery option.\n  \"\"\"\n  title: String!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-rust/shopify.extension.toml",
    "content": "api_version = \"2024-04\"\n\n[[extensions]]\nhandle = \"delivery-customization-rust\"\nname = \"t:name\"\ndescription = \"t:description\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.delivery-customization.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/delivery-customization-rust.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/app/delivery-customization/:functionId/new\"\n  details = \"/app/delivery-customization/:functionId/:id\"\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-rust/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-rust/src/run.graphql",
    "content": "query Input {\n  cart {\n    deliveryGroups {\n      deliveryAddress {\n        provinceCode\n      }\n      deliveryOptions {\n        handle\n        title\n      }\n    }\n  }\n  deliveryCustomization {\n    metafield(\n      namespace: \"$app:delivery-customization\"\n      key: \"function-configuration\"\n    ) {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/extensions/delivery-customization-rust/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n// Create a structure that matches the JSON structure that you'll use for your configuration\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[serde(rename_all(deserialize = \"camelCase\"))]\nstruct Configuration {\n    state_province_code: String,\n    message: String,\n}\n\n// Parse the JSON metafield value using serde\nimpl Configuration {\n    fn from_str(value: &str) -> Self {\n        serde_json::from_str(value).expect(\"Unable to parse configuration value from metafield\")\n    }\n}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let no_changes = output::FunctionRunResult { operations: vec![] };\n\n    // Get the configuration from the metafield on your function owner\n    let config = match input.delivery_customization.metafield {\n        Some(input::InputDeliveryCustomizationMetafield { value }) => {\n            Configuration::from_str(&value)\n        }\n        None => return Ok(no_changes),\n    };\n\n    let to_rename = input\n        .cart\n        .delivery_groups\n        .iter()\n        .filter(|group| {\n            let state_province = group\n                .delivery_address\n                .as_ref()\n                .and_then(|address| address.province_code.as_ref());\n            match state_province {\n                // Use the configured state/province code instead of a hardcoded value\n                Some(code) => code == &config.state_province_code,\n                None => false,\n            }\n        })\n        .flat_map(|group| &group.delivery_options)\n        .map(|option| {\n            output::Operation::Rename(output::RenameOperation {\n                delivery_option_handle: option.handle.to_string(),\n                title: match &option.title {\n                    // Use the configured message, instead of a hardcoded value\n                    Some(title) => format!(\"{} - {}\", title, config.message),\n                    None => config.message.to_string(),\n                },\n            })\n        })\n        .collect();\n\n    Ok(output::FunctionRunResult {\n        operations: to_rename,\n    })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_returns_no_operations_without_configuration() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"deliveryGroups\": []\n                    },\n                    \"deliveryCustomization\": {\n                        \"metafield\": null\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult { operations: vec![] };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n\n    #[test]\n    fn test_renames_delivery_options_if_province_matches() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"deliveryGroups\": [{\n                            \"deliveryAddress\": {\n                                \"provinceCode\": \"ON\"\n                            },\n                            \"deliveryOptions\": [{\n                                \"handle\": \"test_delivery_option\",\n                                \"title\": \"Test Delivery Option\"\n                            }, {\n                                \"handle\": \"test_delivery_option_2\",\n                                \"title\": \"Test Delivery Option 2\"\n                            }]\n                        }]\n                    },\n                    \"deliveryCustomization\": {\n                        \"metafield\": {\n                            \"value\": \"{\\\"stateProvinceCode\\\": \\\"ON\\\", \\\"message\\\": \\\"Test Message\\\"}\"\n                        }\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult {\n            operations: vec![\n                Operation::Rename(RenameOperation {\n                    delivery_option_handle: \"test_delivery_option\".to_string(),\n                    title: \"Test Delivery Option - Test Message\".to_string(),\n                }),\n                Operation::Rename(RenameOperation {\n                    delivery_option_handle: \"test_delivery_option_2\".to_string(),\n                    title: \"Test Delivery Option 2 - Test Message\".to_string(),\n                }),\n            ],\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n\n    #[test]\n    fn test_returns_no_operations_if_province_code_does_not_match() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"deliveryGroups\": [{\n                            \"deliveryAddress\": {\n                                \"provinceCode\": \"NC\"\n                            },\n                            \"deliveryOptions\": [{\n                                \"handle\": \"test_delivery_option\",\n                                \"title\": \"Test Delivery Option\"\n                            }]\n                        }]\n                    },\n                    \"deliveryCustomization\": {\n                        \"metafield\": {\n                            \"value\": \"{\\\"stateProvinceCode\\\": \\\"ON\\\", \\\"message\\\": \\\"Test Message\\\"}\"\n                        }\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult { operations: vec![] };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/package.json",
    "content": "{\n  \"name\": \"app\",\n  \"private\": true,\n  \"scripts\": {\n    \"build\": \"react-router build\",\n    \"dev\": \"shopify app dev\",\n    \"config:link\": \"shopify app config link\",\n    \"generate\": \"shopify app generate\",\n    \"deploy\": \"shopify app deploy\",\n    \"config:use\": \"shopify app config use\",\n    \"env\": \"shopify app env\",\n    \"start\": \"react-router-serve ./build/server/index.js\",\n    \"docker-start\": \"npm run setup && npm run start\",\n    \"setup\": \"prisma generate && prisma migrate deploy\",\n    \"lint\": \"eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .\",\n    \"shopify\": \"shopify\",\n    \"prisma\": \"prisma\",\n    \"graphql-codegen\": \"graphql-codegen\",\n    \"vite\": \"vite\"\n  },\n  \"type\": \"module\",\n  \"engines\": {\n    \"node\": \">=20.10\"\n  },\n  \"dependencies\": {\n    \"@prisma/client\": \"^6.2.1\",\n    \"@react-router/dev\": \"^7.0.0\",\n    \"@react-router/fs-routes\": \"^7.0.0\",\n    \"@react-router/node\": \"^7.0.0\",\n    \"@react-router/serve\": \"^7.0.0\",\n    \"@shopify/app-bridge-react\": \"^4.1.6\",\n    \"@shopify/app-bridge-ui-types\": \"^0.1.1\",\n    \"@shopify/cli\": \"^3.63.1\",\n    \"@shopify/shopify-app-react-router\": \"^0.1.0\",\n    \"@shopify/shopify-app-session-storage-prisma\": \"^6.0.0\",\n    \"isbot\": \"^5.1.0\",\n    \"prisma\": \"^6.2.1\",\n    \"react\": \"^18.2.0\",\n    \"react-dom\": \"^18.2.0\",\n    \"react-router\": \"^7.0.0\",\n    \"vite-tsconfig-paths\": \"^5.0.1\"\n  },\n  \"devDependencies\": {\n    \"@shopify/api-codegen-preset\": \"^1.1.1\",\n    \"@shopify/polaris-types\": \"^1.0.1\",\n    \"@types/eslint\": \"^9.6.1\",\n    \"@types/node\": \"^22.2.0\",\n    \"@types/react\": \"^18.2.31\",\n    \"@types/react-dom\": \"^18.2.14\",\n    \"@typescript-eslint/eslint-plugin\": \"^6.7.4\",\n    \"@typescript-eslint/parser\": \"^6.7.4\",\n    \"eslint\": \"^8.38.0\",\n    \"eslint-import-resolver-typescript\": \"^3.6.1\",\n    \"eslint-plugin-import\": \"^2.28.1\",\n    \"eslint-plugin-jsx-a11y\": \"^6.7.1\",\n    \"eslint-plugin-react\": \"^7.33.2\",\n    \"eslint-plugin-react-hooks\": \"^4.6.0\",\n    \"prettier\": \"^3.2.4\",\n    \"typescript\": \"^5.2.2\",\n    \"vite\": \"^6.2.2\"\n  },\n  \"workspaces\": {\n    \"packages\": [\n      \"extensions/*\"\n    ]\n  },\n  \"trustedDependencies\": [\n    \"@shopify/plugin-cloudflare\"\n  ],\n  \"resolutions\": {\n    \"@graphql-tools/url-loader\": \"8.0.16\",\n    \"@graphql-codegen/client-preset\": \"4.7.0\",\n    \"@graphql-codegen/typescript-operations\": \"4.5.0\"\n  },\n  \"overrides\": {\n    \"@graphql-tools/url-loader\": \"8.0.16\",\n    \"@graphql-codegen/client-preset\": \"4.7.0\",\n    \"@graphql-codegen/typescript-operations\": \"4.5.0\"\n  },\n  \"packageManager\": \"pnpm@9.9.0+sha512.60c18acd138bff695d339be6ad13f7e936eea6745660d4cc4a776d5247c540d0edee1a563695c183a66eb917ef88f2b4feb1fc25f32a7adcadc7aaf3438e99c1\"\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/prisma/migrations/20240530213853_create_session_table/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"Session\" (\n    \"id\" TEXT NOT NULL PRIMARY KEY,\n    \"shop\" TEXT NOT NULL,\n    \"state\" TEXT NOT NULL,\n    \"isOnline\" BOOLEAN NOT NULL DEFAULT false,\n    \"scope\" TEXT,\n    \"expires\" DATETIME,\n    \"accessToken\" TEXT NOT NULL,\n    \"userId\" BIGINT,\n    \"firstName\" TEXT,\n    \"lastName\" TEXT,\n    \"email\" TEXT,\n    \"accountOwner\" BOOLEAN NOT NULL DEFAULT false,\n    \"locale\" TEXT,\n    \"collaborator\" BOOLEAN DEFAULT false,\n    \"emailVerified\" BOOLEAN DEFAULT false\n);\n"
  },
  {
    "path": "sample-apps/delivery-customizations/prisma/schema.prisma",
    "content": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n  provider = \"prisma-client-js\"\n}\n\n// Note that some adapters may set a maximum length for the String type by default, please ensure your strings are long\n// enough when changing adapters.\n// See https://www.prisma.io/docs/orm/reference/prisma-schema-reference#string for more information\ndatasource db {\n  provider = \"sqlite\"\n  url      = \"file:dev.sqlite\"\n}\n\nmodel Session {\n  id            String    @id\n  shop          String\n  state         String\n  isOnline      Boolean   @default(false)\n  scope         String?\n  expires       DateTime?\n  accessToken   String\n  userId        BigInt?\n  firstName     String?\n  lastName      String?\n  email         String?\n  accountOwner  Boolean   @default(false)\n  locale        String?\n  collaborator  Boolean?  @default(false)\n  emailVerified Boolean?  @default(false)\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/react-router.config.ts",
    "content": "import type { Config } from \"@react-router/dev/config\";\nexport default {\n  ssr: true,\n} satisfies Config;\n"
  },
  {
    "path": "sample-apps/delivery-customizations/shopify.app.toml",
    "content": "# This file stores configurations for your Shopify app.\n\nscopes = \"write_products,write_delivery_customizations\"\n"
  },
  {
    "path": "sample-apps/delivery-customizations/shopify.web.toml",
    "content": "name = \"React Router\"\nroles = [\"frontend\", \"backend\"]\nwebhooks_path = \"/webhooks/app/uninstalled\"\n\n[commands]\npredev = \"npx prisma generate\"\ndev = \"npx prisma migrate deploy && npm exec react-router dev\"\n"
  },
  {
    "path": "sample-apps/delivery-customizations/tsconfig.json",
    "content": "{\n  \"include\": [\"env.d.ts\", \"**/*.ts\", \"**/*.tsx\", \".react-router/types/**/*\"],\n  \"compilerOptions\": {\n    \"lib\": [\"DOM\", \"DOM.Iterable\", \"ES2022\"],\n    \"strict\": true,\n    \"skipLibCheck\": true,\n    \"isolatedModules\": true,\n    \"allowSyntheticDefaultImports\": true,\n    \"removeComments\": false,\n    \"forceConsistentCasingInFileNames\": true,\n    \"noEmit\": true,\n    \"allowJs\": true,\n    \"resolveJsonModule\": true,\n    \"jsx\": \"react-jsx\",\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"Bundler\",\n    \"target\": \"ES2022\",\n    \"baseUrl\": \".\",\n    \"types\": [\"@react-router/node\", \"vite/client\", \"@shopify/polaris-types\"],\n    \"rootDirs\": [\".\", \"./.react-router/types\"]\n  }\n}\n"
  },
  {
    "path": "sample-apps/delivery-customizations/vite.config.ts",
    "content": "import { reactRouter } from \"@react-router/dev/vite\";\nimport { defineConfig, type UserConfig } from \"vite\";\nimport tsconfigPaths from \"vite-tsconfig-paths\";\n\n// Related: https://github.com/remix-run/remix/issues/2835#issuecomment-1144102176\n// Replace the HOST env var with SHOPIFY_APP_URL so that it doesn't break the Vite server.\n// The CLI will eventually stop passing in HOST,\n// so we can remove this workaround after the next major release.\nif (\n  process.env.HOST &&\n  (!process.env.SHOPIFY_APP_URL ||\n    process.env.SHOPIFY_APP_URL === process.env.HOST)\n) {\n  process.env.SHOPIFY_APP_URL = process.env.HOST;\n  delete process.env.HOST;\n}\n\nconst host = new URL(process.env.SHOPIFY_APP_URL || \"http://localhost\")\n  .hostname;\n\nlet hmrConfig;\nif (host === \"localhost\") {\n  hmrConfig = {\n    protocol: \"ws\",\n    host: \"localhost\",\n    port: 64999,\n    clientPort: 64999,\n  };\n} else {\n  hmrConfig = {\n    protocol: \"wss\",\n    host: host,\n    port: parseInt(process.env.FRONTEND_PORT!) || 8002,\n    clientPort: 443,\n  };\n}\n\nexport default defineConfig({\n  server: {\n    allowedHosts: [host],\n    cors: {\n      preflightContinue: true,\n    },\n    port: Number(process.env.PORT || 3000),\n    hmr: hmrConfig,\n    fs: {\n      // See https://vitejs.dev/config/server-options.html#server-fs-allow for more information\n      allow: [\"app\", \"node_modules\"],\n    },\n  },\n  plugins: [\n    reactRouter(),\n    tsconfigPaths(),\n  ],\n  build: {\n    assetsInlineLimit: 0,\n  },\n  optimizeDeps: {\n    include: [\"@shopify/app-bridge-react\", \"@shopify/polaris\"],\n  },\n}) satisfies UserConfig;\n"
  },
  {
    "path": "sample-apps/discounts/.dockerignore",
    "content": ".cache\nbuild\nnode_modules\n"
  },
  {
    "path": "sample-apps/discounts/.editorconfig",
    "content": "# editorconfig.org\nroot = true\n\n[*]\ncharset = utf-8\nindent_size = 2\nindent_style = space\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n# Markdown syntax specifies that trailing whitespaces can be meaningful,\n# so let’s not trim those. e.g. 2 trailing spaces = linebreak (<br />)\n# See https://daringfireball.net/projects/markdown/syntax#p\n[*.md]\ntrim_trailing_whitespace = false\n"
  },
  {
    "path": "sample-apps/discounts/.eslintignore",
    "content": "node_modules\nbuild\npublic/build\nshopify-app-remix\n*/*.yml\n.shopify\n"
  },
  {
    "path": "sample-apps/discounts/.eslintrc.js",
    "content": "/** @type {import('@types/eslint').Linter.BaseConfig} */\nmodule.exports = {\n  root: true,\n  extends: [\n    \"@remix-run/eslint-config\",\n    \"@remix-run/eslint-config/node\",\n    \"@remix-run/eslint-config/jest-testing-library\",\n    \"prettier\",\n  ],\n  globals: {\n    shopify: \"readonly\"\n  },\n};\n"
  },
  {
    "path": "sample-apps/discounts/.gitignore",
    "content": "node_modules\n\n/.cache\n/build\n/app/build\n/public/build/\n/app/public/build\n/prisma/dev.sqlite\n/prisma/dev.sqlite-journal\ndatabase.sqlite\n\n.env\npackage-lock.json\nyarn.lock\n"
  },
  {
    "path": "sample-apps/discounts/.graphqlrc.js",
    "content": "const fs = require('node:fs');\nconst apiVersion = require(\"@shopify/shopify-app-remix\").LATEST_API_VERSION;\n\nfunction getConfig() {\n    const config = {\n        projects: {\n            shopifyAdminApi: {\n                schema: `https://shopify.dev/admin-graphql-direct-proxy/${apiVersion}`,\n                documents: ['./app/**/*.{graphql,js,ts,jsx,tsx}']\n            }\n        }\n    }\n\n    let extensions = []\n    try {\n        extensions = fs.readdirSync('./extensions');\n    } catch {\n        // ignore if no extensions\n    }\n\n    for (const entry of extensions) {\n        const extensionPath = `./extensions/${entry}`;\n        const schema = `${extensionPath}/schema.graphql`;\n        if(!fs.existsSync(schema)) {\n            continue;\n        }\n        config.projects[entry] = {\n            schema,\n            documents: [`${extensionPath}/input.graphql`]\n        }\n    }\n\n    return config;\n}\n\nmodule.exports = getConfig();\n"
  },
  {
    "path": "sample-apps/discounts/.npmrc",
    "content": "engine-strict=true\nauto-install-peers=true\nshamefully-hoist=true\n@shopify:registry=https://registry.npmjs.org\n"
  },
  {
    "path": "sample-apps/discounts/.prettierignore",
    "content": "package.json\n.cache\n.shadowenv.d\n.vscode\nbuild\nnode_modules\nprisma\npublic\nshopify-app-remix\n.github\ntmp\n*.yml\n.shopify\n"
  },
  {
    "path": "sample-apps/discounts/.vscode/extensions.json",
    "content": "{\n  \"recommendations\": [\n    \"graphql.vscode-graphql\",\n    \"shopify.polaris-for-vscode\"\n  ]\n}\n"
  },
  {
    "path": "sample-apps/discounts/Dockerfile",
    "content": "FROM node:18-alpine\n\nEXPOSE 3000\nWORKDIR /app\nCOPY . .\n\nRUN npm install\nRUN npm run build\n\n# You'll probably want to remove this in production, it's here to make it easier to test things!\nRUN rm prisma/dev.sqlite\nRUN npx prisma migrate dev --name init\n\nCMD [\"npm\", \"run\", \"start\"]\n"
  },
  {
    "path": "sample-apps/discounts/README.md",
    "content": "# Shopify App Template - Remix\n\nThis is a template for building a [Shopify app](https://shopify.dev/docs/apps/getting-started) using the [Remix](https://remix.run) framework.\n\n<!-- TODO: Uncomment this after we've started using the template in the CLI -->\n<!-- Rather than cloning this repo, you can use your preferred package manager and the Shopify CLI with [these steps](#installing-the-template). -->\n\n## Quick start\n\n### Prerequisites\n\n1. You must [download and install Node.js](https://nodejs.org/en/download/) if you don't already have it.\n2. You must [create a Shopify partner account](https://partners.shopify.com/signup) if you don’t have one.\n3. You must create a store for testing if you don't have one, either a [development store](https://help.shopify.com/en/partners/dashboard/development-stores#create-a-development-store) or a [Shopify Plus sandbox store](https://help.shopify.com/en/partners/dashboard/managing-stores/plus-sandbox-store).\n\n<!-- TODO Make this section about using @shopify/app once it's added to the CLI. -->\n\n### Setup\n\nIf you used the CLI to create the template, you can skip this section.\n\nUsing yarn:\n\n```shell\nyarn install\n```\n\nUsing npm:\n\n```shell\nnpm install\n```\n\nUsing pnpm:\n\n```shell\npnpm install\n```\n\n### Local Development\n\nUsing yarn:\n\n```shell\nyarn dev\n```\n\nUsing npm:\n\n```shell\nnpm run dev\n```\n\nUsing pnpm:\n\n```shell\npnpm run dev\n```\n\nPress P to open the URL to your app. Once you click install, you can start development.\n\nLocal development is powered by [the Shopify CLI](https://shopify.dev/docs/apps/tools/cli). It logs into your partners account, connects to an app, provides environment variables, updates remote config, creates a tunnel and provides commands to generate extensions.\n\n### Authenticating and querying data\n\nTo authenticate and query data you can use the `shopify` const that is exported from `/app/shopify.server.js`:\n\n```js\nexport async function loader({ request }) {\n  const { admin } = await shopify.authenticate.admin(request);\n\n  const response = await admin.graphql(`\n    {\n      products(first: 25) {\n        nodes {\n          title\n          description\n        }\n      }\n    }`);\n\n  const {\n    data: {\n      products: { nodes },\n    },\n  } = await response.json();\n\n  return json(nodes);\n}\n```\n\nThis template come preconfigured with examples of:\n\n1. Setting up your Shopify app in [/app/shopify.server.js](https://github.com/Shopify/shopify-app-template-remix/blob/main/app/shopify.server.js)\n2. Querying data using Graphql. Please see: [/app/routes/app.\\_index.jsx](https://github.com/Shopify/shopify-app-template-remix/blob/main/app/routes/app._index.jsx).\n3. Responding to mandatory webhooks in [/app/routes/webhooks.jsx](https://github.com/Shopify/shopify-app-template-remix/blob/main/app/routes/webhooks.jsx)\n\nPlease read the [documentation for @shopify/shopify-app-remix](https://www.npmjs.com/package/@shopify/shopify-app-remix#authenticating-admin-requests) to understand what other API's are available.\n\n## Deployment\n\n### Application Storage\n\nThis template uses [Prisma](https://www.prisma.io/) to store session data, by default using an [SQLite](https://www.sqlite.org/index.html) database.\nThe database is defined as a Prisma schema in `prisma/schema.prisma`.\n\nThis use of SQLite works in production if your app runs as a single instance.\nThe database that works best for you depends on the data your app needs and how it is queried.\nYou can run your database of choice on a server yourself or host it with a SaaS company.\nHere’s a short list of databases providers that provide a free tier to get started:\n\n| Database   | Type             | Hosters                                                                                                                                                                                                                               |\n| ---------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| MySQL      | SQL              | [Digital Ocean](https://www.digitalocean.com/try/managed-databases-mysql), [Planet Scale](https://planetscale.com/), [Amazon Aurora](https://aws.amazon.com/rds/aurora/), [Google Cloud SQL](https://cloud.google.com/sql/docs/mysql) |\n| PostgreSQL | SQL              | [Digital Ocean](https://www.digitalocean.com/try/managed-databases-postgresql), [Amazon Aurora](https://aws.amazon.com/rds/aurora/), [Google Cloud SQL](https://cloud.google.com/sql/docs/postgres)                                   |\n| Redis      | Key-value        | [Digital Ocean](https://www.digitalocean.com/try/managed-databases-redis), [Amazon MemoryDB](https://aws.amazon.com/memorydb/)                                                                                                        |\n| MongoDB    | NoSQL / Document | [Digital Ocean](https://www.digitalocean.com/try/managed-databases-mongodb), [MongoDB Atlas](https://www.mongodb.com/atlas/database)                                                                                                  |\n\nTo use one of these, you can use a different [datasource provider](https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#datasource) in your `schema.prisma` file, or a different [SessionStorage adapter package](https://github.com/Shopify/shopify-api-js/tree/main/docs/guides/session-storage.md).\n\n### Build\n\nRemix handles building the app for you, by running the command below with the package manager of your choice:\n\nUsing yarn:\n\n```shell\nyarn build\n```\n\nUsing npm:\n\n```shell\nnpm run build\n```\n\nUsing pnpm:\n\n```shell\npnpm run build\n```\n\n## Hosting\n\nWhen you're ready to set up your app in production, you can follow [our deployment documentation](https://shopify.dev/docs/apps/deployment/web) to host your app on a cloud provider like [Heroku](https://www.heroku.com/) or [Fly.io](https://fly.io/).\n\nWhen you reach the step for [setting up environment variables](https://shopify.dev/docs/apps/deployment/web#set-env-vars), you also need to set the variable `NODE_ENV=production`.\n\n## Gotchas / Troubleshooting\n\n### Database tables don't exist\n\nIf you run the app right after creating it, you'll get this error:\n\n```\nThe table `main.Session` does not exist in the current database.\n```\n\nThis will happen when the Prisma database hasn't been created.\nYou can solve this by running the `setup` script in your app.\n\n### Navigating to other pages breaks\n\nIn Remix apps, you can navigate to a different page either by adding an `<a>` tag, or using the `<Link>` component from `@remix-run/react`.\n\nIn Shopify Remix apps you should avoid using `<a>`. Use `<Link> `from `@remix-run/react` instead. This ensures that your user remains authenticated.\n\n### Non Embedded\n\nShopify apps are best when they are embedded into the Shopify Admin. This template is configured that way. If you have a reason to not embed your please make 2 changes:\n\n1. Remove the `<script/>` tag to App Bridge in `/app/routes/app.jsx`\n2. Remove any use of App Bridge APIs (`window.shopify`) from your code\n3. Update the config for shopifyApp in `app/shopify.server.js`. Pass `isEmbeddedApp: false`\n\n### OAuth goes into a loop when I change my app's scopes\n\nIf you change your app's scopes and notice that authentication goes into a loop and fails with a message from Shopify that it tried too many times, you might have forgotten to update your scopes with Shopify.\nTo do that, you can run the `deploy` CLI command.\n\nUsing yarn:\n\n```shell\nyarn deploy\n```\n\nUsing npm:\n\n```shell\nnpm run deploy\n```\n\nUsing pnpm:\n\n```shell\npnpm run deploy\n```\n\nWhen running a development server you can pass the `--reset` flag to your dev command.\n\nUsing yarn:\n\n```shell\nyarn dev --reset\n```\n\nUsing npm:\n\n```shell\nnpm run dev -- --reset\n```\n\nUsing pnpm:\n\n```shell\npnpm run dev -- --reset\n```\n\n## Benefits\n\nShopify apps are built on a variety of Shopify tools to create a great merchant experience.\n\n<!-- TODO: Uncomment this after we've updated the docs -->\n<!-- The [create an app](https://shopify.dev/docs/apps/getting-started/create) tutorial in our developer documentation will guide you through creating a Shopify app using this template. -->\n\nThe Remix app template comes with the following out-of-the-box functionality:\n\n- [OAuth](https://github.com/Shopify/shopify-app-js/tree/main/packages/shopify-app-remix#authenticating-admin-requests): Installing the app and granting permissions\n- [GraphQL Admin API](https://github.com/Shopify/shopify-app-js/tree/main/packages/shopify-app-remix#using-the-shopify-admin-graphql-api): Querying or mutating Shopify admin data\n- [REST Admin API](https://github.com/Shopify/shopify-app-js/tree/main/packages/shopify-app-remix#using-the-shopify-admin-rest-api): Resource classes to interact with the API\n- [Webhooks](https://github.com/Shopify/shopify-app-js/tree/add_remix_package/packages/shopify-app-remix#authenticating-webhook-requests): Callbacks sent by Shopify when certain events occur\n- [AppBridge](https://shopify.dev/docs/api/app-bridge): This template uses the next generation of the Shopify App Bridge library which works in unison with previous versions.\n- [Polaris](https://polaris.shopify.com/): Design system that enables apps to create Shopify-like experiences\n\n## Tech Stack\n\nThis template uses [Remix](https://remix.run). The following Shopify tools are also included to ease app development:\n\n- [Shopify App Remix](https://github.com/Shopify/shopify-app-js/blob/main/packages/shopify-app-remix/README.md) provides authentication and methods for interacting with Shopify APIs.\n- [Shopify App Bridge](https://shopify.dev/docs/apps/tools/app-bridge) allows your app to seamlessly integrate your app within Shopify's Admin.\n- [Polaris React](https://polaris.shopify.com/) is a powerful design system and component library that helps developers build high quality, consistent experiences for Shopify merchants.\n- [Webhooks](https://github.com/Shopify/shopify-app-js/tree/add_remix_package/packages/shopify-app-remix#authenticating-webhook-requests): Callbacks sent by Shopify when certain events occur\n- [Polaris](https://polaris.shopify.com/): Design system that enables apps to create Shopify-like experiences\n\n> **Note**: This template runs on JavaScript, but it's fully set up for [TypeScript](https://www.typescriptlang.org/).\n> If you want to create your routes using TypeScript, we recommend removing the `noImplicitAny` config from [`tsconfig.json`](/tsconfig.json)\n\n## Resources\n\n- [Remix Docs](https://remix.run/docs/en/v1)\n- [Shopify App Remix](https://github.com/Shopify/shopify-app-js/blob/release-candidate/packages/shopify-app-remix/README.md)\n- [Introduction to Shopify apps](https://shopify.dev/docs/apps/getting-started)\n- [App authentication](https://shopify.dev/docs/apps/auth)\n- [Shopify CLI](https://shopify.dev/docs/apps/tools/cli)\n- [App extensions](https://shopify.dev/docs/apps/app-extensions/list)\n- [Shopify Functions](https://shopify.dev/docs/api/functions)\n- [Getting started with internationalizing your app](https://shopify.dev/docs/apps/best-practices/internationalization/getting-started)\n"
  },
  {
    "path": "sample-apps/discounts/app/components/NotFoundPage/NotFoundPage.jsx",
    "content": "import { Card, EmptyState, Page } from \"@shopify/polaris\";\nimport notFoundImage from \"./empty-state.svg\";\n\nexport function NotFoundPage() {\n  return (\n    <Page>\n      <Card>\n        <EmptyState\n          heading=\"There is no page at this address\"\n          image={notFoundImage}\n        >\n          <p>\n            Check the URL and try again, or use the search bar to find what you\n            need.\n          </p>\n        </EmptyState>\n      </Card>\n    </Page>\n  );\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/components/NotFoundPage/index.js",
    "content": "export { NotFoundPage } from \"./NotFoundPage\";\n"
  },
  {
    "path": "sample-apps/discounts/app/components/providers/DiscountProvider.jsx",
    "content": "import { AppProvider } from \"@shopify/discount-app-components\";\nimport \"@shopify/discount-app-components/build/esm/styles.css\";\n\nexport function DiscountProvider({ children }) {\n  return (\n    <AppProvider locale=\"en-US\" ianaTimezone=\"America/Toronto\">\n      {children}\n    </AppProvider>\n  );\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/db.server.js",
    "content": "import { PrismaClient } from \"@prisma/client\";\n\nconst prisma = global.prisma || new PrismaClient();\n\nif (process.env.NODE_ENV !== \"production\") {\n  if (!global.prisma) {\n    global.prisma = new PrismaClient();\n  }\n}\n\nexport default prisma;\n"
  },
  {
    "path": "sample-apps/discounts/app/entry.server.jsx",
    "content": "import { PassThrough } from \"stream\";\nimport { renderToPipeableStream } from \"react-dom/server\";\nimport { RemixServer } from \"@remix-run/react\";\nimport { isbot } from \"isbot\";\n\nimport { addDocumentResponseHeaders } from \"./shopify.server\";\n\nconst ABORT_DELAY = 5_000;\n\nexport default async function handleRequest(\n  request,\n  responseStatusCode,\n  responseHeaders,\n  remixContext,\n  _loadContext\n) {\n  addDocumentResponseHeaders(request, responseHeaders);\n\n  const callbackName = isbot(request.headers.get(\"user-agent\"))\n    ? \"onAllReady\"\n    : \"onShellReady\";\n\n  return new Promise((resolve, reject) => {\n    const { pipe, abort } = renderToPipeableStream(\n      <RemixServer\n        context={remixContext}\n        url={request.url}\n        abortDelay={ABORT_DELAY}\n      />,\n      {\n        [callbackName]: () => {\n          const body = new PassThrough();\n\n          responseHeaders.set(\"Content-Type\", \"text/html\");\n\n          resolve(\n            new Response(body, {\n              headers: responseHeaders,\n              status: responseStatusCode,\n            })\n          );\n\n          pipe(body);\n        },\n        onShellError(error) {\n          reject(error);\n        },\n        onError(error) {\n          responseStatusCode = 500;\n          console.error(error);\n        },\n      }\n    );\n\n    setTimeout(abort, ABORT_DELAY);\n  });\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/root.jsx",
    "content": "import {\n  Links,\n  LiveReload,\n  Meta,\n  Outlet,\n  Scripts,\n  ScrollRestoration,\n  useLoaderData,\n} from \"@remix-run/react\";\nimport { json } from \"@remix-run/node\";\n\nexport async function loader() {\n  const apiKey = process.env.SHOPIFY_API_KEY;\n  return json({ apiKey });\n}\n\nexport default function App() {\n  const { apiKey } = useLoaderData();\n  return (\n    <html>\n      <head>\n        <meta name=\"shopify-api-key\" content={apiKey} />\n        <script src=\"https://cdn.shopify.com/shopifycloud/app-bridge.js\"></script>\n        <meta charSet=\"utf-8\" />\n        <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n        <Meta />\n        <Links />\n      </head>\n      <body>\n        <Outlet />\n        <ScrollRestoration />\n        <LiveReload />\n        <Scripts />\n      </body>\n    </html>\n  );\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/_index/route.jsx",
    "content": "import { json, redirect } from \"@remix-run/node\";\nimport { Form, useLoaderData } from \"@remix-run/react\";\n\nimport { login } from \"../../shopify.server\";\n\nimport indexStyles from \"./style.css\";\n\nexport const links = () => [{ rel: \"stylesheet\", href: indexStyles }];\n\nexport async function loader({ request }) {\n  const url = new URL(request.url);\n\n  if (url.searchParams.get(\"shop\")) {\n    throw redirect(`/app?${url.searchParams.toString()}`);\n  }\n\n  return json({ showForm: Boolean(login) });\n}\n\nexport default function App() {\n  const { showForm } = useLoaderData();\n\n  return (\n    <div className=\"index\">\n      <div className=\"content\">\n        <h1>A short heading about [your app]</h1>\n        <p>A tagline about [your app] that describes your value proposition.</p>\n        {showForm && (\n          <Form method=\"post\" action=\"/auth/login\">\n            <label>\n              <span>Shop domain</span>\n              <input type=\"text\" name=\"shop\" />\n              <span>e.g: my-shop-domain.myshopify.com</span>\n            </label>\n            <button type=\"submit\">Log in</button>\n          </Form>\n        )}\n        <ul>\n          <li>\n            <strong>Product feature</strong>. Some detail about your feature and\n            its benefit to your customer.\n          </li>\n          <li>\n            <strong>Product feature</strong>. Some detail about your feature and\n            its benefit to your customer.\n          </li>\n          <li>\n            <strong>Product feature</strong>. Some detail about your feature and\n            its benefit to your customer.\n          </li>\n        </ul>\n      </div>\n    </div>\n  );\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/_index/style.css",
    "content": "html,\nbody {\n  height: 100%;\n  width: 100%;\n  font-family: \"Roboto\", sans-serif;\n  line-height: 1.6;\n}\n\n.index {\n  align-items: center;\n  display: flex;\n  justify-content: center;\n  height: 100%;\n  width: 100%;\n  text-align: center;\n  padding: 1rem;\n}\n\nh1,\np {\n  padding: 0;\n  margin: 0;\n}\n\np {\n  font-size: 1.2rem;\n  padding-bottom: 2rem;\n}\n\n.content {\n  display: grid;\n  gap: 2rem;\n}\n\nform {\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  margin: 0 auto;\n  gap: 1rem;\n}\n\nlabel {\n  display: grid;\n  gap: 0.2rem;\n  max-width: 20rem;\n  text-align: left;\n  font-size: 1rem;\n}\n\ninput[type=\"text\"] {\n  padding: 0.4rem;\n}\n\nbutton {\n  padding: 0.4rem;\n}\n\nul {\n  list-style: none;\n  padding: 0;\n  padding-top: 3rem;\n  margin: 0;\n  display: flex;\n  gap: 2rem;\n}\n\nli {\n  max-width: 20rem;\n  text-align: left;\n}\n\n@media only screen and (max-width: 50rem) {\n  ul {\n    display: block;\n  }\n\n  li {\n    padding-bottom: 1rem;\n  }\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/app._index.jsx",
    "content": "import { useEffect } from \"react\";\nimport { json } from \"@remix-run/node\";\nimport {\n  useActionData,\n  useLoaderData,\n  useNavigation,\n  useSubmit,\n} from \"@remix-run/react\";\nimport {\n  Page,\n  Layout,\n  Text,\n  BlockStack,\n  Card,\n  Button,\n  InlineStack,\n  Box,\n  Divider,\n  List,\n  Link,\n} from \"@shopify/polaris\";\n\nimport { authenticate } from \"../shopify.server\";\n\nexport const loader = async ({ request }) => {\n  const { session } = await authenticate.admin(request);\n\n  return json({ shop: session.shop.replace(\".myshopify.com\", \"\") });\n};\n\nexport async function action({ request }) {\n  const { admin } = await authenticate.admin(request);\n\n  const color = [\"Red\", \"Orange\", \"Yellow\", \"Green\"][\n    Math.floor(Math.random() * 4)\n  ];\n  const response = await admin.graphql(\n    `#graphql\n      mutation populateProduct($input: ProductInput!) {\n        productCreate(input: $input) {\n          product {\n            id\n            title\n            handle\n            status\n            variants(first: 10) {\n              edges {\n                node {\n                  id\n                  price\n                  barcode\n                  createdAt\n                }\n              }\n            }\n          }\n        }\n      }`,\n    {\n      variables: {\n        input: {\n          title: `${color} Snowboard`,\n          variants: [{ price: Math.random() * 100 }],\n        },\n      },\n    }\n  );\n\n  const responseJson = await response.json();\n\n  return json({\n    product: responseJson.data.productCreate.product,\n  });\n}\n\nexport default function Index() {\n  const nav = useNavigation();\n  const { shop } = useLoaderData();\n  const actionData = useActionData();\n  const submit = useSubmit();\n\n  const isLoading =\n    [\"loading\", \"submitting\"].includes(nav.state) && nav.formMethod === \"POST\";\n\n  const productId = actionData?.product?.id.replace(\n    \"gid://shopify/Product/\",\n    \"\"\n  );\n\n  useEffect(() => {\n    if (productId) {\n      shopify.toast.show(\"Product created\");\n    }\n  }, [productId]);\n\n  const generateProduct = () => submit({}, { replace: true, method: \"POST\" });\n\n  return (\n    <Page>\n      <ui-title-bar title=\"Remix app template\">\n        <button variant=\"primary\" onClick={generateProduct}>\n          Generate a product\n        </button>\n      </ui-title-bar>\n      <BlockStack gap=\"500\">\n        <Layout>\n          <Layout.Section>\n            <Card>\n              <BlockStack gap=\"500\">\n                <BlockStack gap=\"200\">\n                  <Text as=\"h2\" variant=\"headingMd\">\n                    Congrats on creating a new Shopify app 🎉\n                  </Text>\n                  <Text variant=\"bodyMd\" as=\"p\">\n                    This embedded app template uses{\" \"}\n                    <Link\n                      url=\"https://shopify.dev/docs/apps/tools/app-bridge\"\n                      target=\"_blank\"\n                    >\n                      App Bridge\n                    </Link>{\" \"}\n                    interface examples like an{\" \"}\n                    <Link url=\"/app/additional\">\n                      additional page in the app nav\n                    </Link>\n                    , as well as an{\" \"}\n                    <Link\n                      url=\"https://shopify.dev/docs/api/admin-graphql\"\n                      target=\"_blank\"\n                    >\n                      Admin GraphQL\n                    </Link>{\" \"}\n                    mutation demo, to provide a starting point for app\n                    development.\n                  </Text>\n                </BlockStack>\n                <BlockStack gap=\"200\">\n                  <Text as=\"h3\" variant=\"headingMd\">\n                    Get started with products\n                  </Text>\n                  <Text as=\"p\" variant=\"bodyMd\">\n                    Generate a product with GraphQL and get the JSON output for\n                    that product. Learn more about the{\" \"}\n                    <Link\n                      url=\"https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate\"\n                      target=\"_blank\"\n                    >\n                      productCreate\n                    </Link>{\" \"}\n                    mutation in our API references.\n                  </Text>\n                </BlockStack>\n                <InlineStack gap=\"300\" align=\"end\">\n                  {actionData?.product && (\n                    <Button\n                      url={`https://admin.shopify.com/store/${shop}/admin/products/${productId}`}\n                      target=\"_blank\"\n                    >\n                      View product\n                    </Button>\n                  )}\n                  <Button\n                    loading={isLoading}\n                    variant=\"primary\"\n                    onClick={generateProduct}\n                  >\n                    Generate a product\n                  </Button>\n                </InlineStack>\n                {actionData?.product && (\n                  <Box\n                    padding=\"400\"\n                    background=\"bg-surface-active\"\n                    borderColor=\"border\"\n                    borderWidth=\"100\"\n                    borderRadius=\"200\"\n                    overflowX=\"scroll\"\n                  >\n                    <pre style={{ margin: 0 }}>\n                      <code>{JSON.stringify(actionData.product, null, 2)}</code>\n                    </pre>\n                  </Box>\n                )}\n              </BlockStack>\n            </Card>\n          </Layout.Section>\n          <Layout.Section>\n            <BlockStack gap=\"500\">\n              <Card>\n                <BlockStack gap=\"200\">\n                  <Text as=\"h2\" variant=\"headingMd\">\n                    App template specs\n                  </Text>\n                  <BlockStack gap=\"200\">\n                    <Divider />\n                    <InlineStack align=\"space-between\">\n                      <Text as=\"span\" variant=\"bodyMd\">\n                        Framework\n                      </Text>\n                      <Link url=\"https://remix.run\" target=\"_blank\">\n                        Remix\n                      </Link>\n                    </InlineStack>\n                    <Divider />\n                    <InlineStack align=\"space-between\">\n                      <Text as=\"span\" variant=\"bodyMd\">\n                        Database\n                      </Text>\n                      <Link url=\"https://www.prisma.io/\" target=\"_blank\">\n                        Prisma\n                      </Link>\n                    </InlineStack>\n                    <Divider />\n                    <InlineStack align=\"space-between\">\n                      <Text as=\"span\" variant=\"bodyMd\">\n                        Interface\n                      </Text>\n                      <span>\n                        <Link url=\"https://polaris.shopify.com\" target=\"_blank\">\n                          Polaris\n                        </Link>\n                        {\", \"}\n                        <Link\n                          url=\"https://shopify.dev/docs/apps/tools/app-bridge\"\n                          target=\"_blank\"\n                        >\n                          App Bridge\n                        </Link>\n                      </span>\n                    </InlineStack>\n                    <Divider />\n                    <InlineStack align=\"space-between\">\n                      <Text as=\"span\" variant=\"bodyMd\">\n                        API\n                      </Text>\n                      <Link\n                        url=\"https://shopify.dev/docs/api/admin-graphql\"\n                        target=\"_blank\"\n                      >\n                        GraphQL API\n                      </Link>\n                    </InlineStack>\n                  </BlockStack>\n                </BlockStack>\n              </Card>\n              <Card>\n                <BlockStack gap=\"200\">\n                  <Text as=\"h2\" variant=\"headingMd\">\n                    Next steps\n                  </Text>\n                  <List>\n                    <List.Item>\n                      Build an{\" \"}\n                      <Link\n                        url=\"https://shopify.dev/docs/apps/getting-started/build-app-example\"\n                        target=\"_blank\"\n                      >\n                        {\" \"}\n                        example app\n                      </Link>{\" \"}\n                      to get started\n                    </List.Item>\n                    <List.Item>\n                      Explore Shopify’s API with{\" \"}\n                      <Link\n                        url=\"https://shopify.dev/docs/apps/tools/graphiql-admin-api\"\n                        target=\"_blank\"\n                      >\n                        GraphiQL\n                      </Link>\n                    </List.Item>\n                  </List>\n                </BlockStack>\n              </Card>\n            </BlockStack>\n          </Layout.Section>\n        </Layout>\n      </BlockStack>\n    </Page>\n  );\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/app.additional.jsx",
    "content": "import {\n  Box,\n  Card,\n  Layout,\n  Link,\n  List,\n  Page,\n  Text,\n  BlockStack,\n} from \"@shopify/polaris\";\n\nexport default function AdditionalPage() {\n  return (\n    <Page>\n      <ui-title-bar title=\"Additional page\" />\n      <Layout>\n        <Layout.Section>\n          <Card>\n            <BlockStack gap=\"300\">\n              <Text as=\"p\" variant=\"bodyMd\">\n                The app template comes with an additional page which\n                demonstrates how to create multiple pages within app navigation\n                using{\" \"}\n                <Link\n                  url=\"https://shopify.dev/docs/apps/tools/app-bridge\"\n                  target=\"_blank\"\n                >\n                  App Bridge\n                </Link>\n                .\n              </Text>\n              <Text as=\"p\" variant=\"bodyMd\">\n                To create your own page and have it show up in the app\n                navigation, add a page inside <Code>app/routes</Code>, and a\n                link to it in the <Code>&lt;ui-nav-menu&gt;</Code> component\n                found in <Code>app/routes/app.jsx</Code>.\n              </Text>\n            </BlockStack>\n          </Card>\n        </Layout.Section>\n        <Layout.Section>\n          <Card>\n            <BlockStack gap=\"200\">\n              <Text as=\"h2\" variant=\"headingMd\">\n                Resources\n              </Text>\n              <List gap=\"extraTight\">\n                <List.Item>\n                  <Link\n                    url=\"https://shopify.dev/docs/apps/design-guidelines/navigation#app-nav\"\n                    target=\"_blank\"\n                  >\n                    App nav best practices\n                  </Link>\n                </List.Item>\n              </List>\n            </BlockStack>\n          </Card>\n        </Layout.Section>\n      </Layout>\n    </Page>\n  );\n}\n\nfunction Code({ children }) {\n  return (\n    <Box\n      as=\"span\"\n      padding=\"025\"\n      paddingInlineStart=\"100\"\n      paddingInlineEnd=\"100\"\n      background=\"bg-surface-active\"\n      borderWidth=\"100\"\n      borderColor=\"border\"\n      borderRadius=\"100\"\n    >\n      <code>{children}</code>\n    </Box>\n  );\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/app.jsx",
    "content": "\nimport { json } from \"@remix-run/node\";\nimport { Link, Outlet, useLoaderData, useRouteError } from \"@remix-run/react\";\nimport polarisStyles from \"@shopify/polaris/build/esm/styles.css\";\nimport { DiscountProvider } from \"../components/providers/DiscountProvider\";\nimport { boundary } from \"@shopify/shopify-app-remix/server\";\nimport { AppProvider } from \"@shopify/shopify-app-remix/react\";\n\nimport { authenticate } from \"../shopify.server\";\n\nexport const links = () => [{ rel: \"stylesheet\", href: polarisStyles }];\n\nexport async function loader({ request }) {\n  await authenticate.admin(request);\n\n  const url = new URL(request.url);\n\n  return json({\n    apiKey: process.env.SHOPIFY_API_KEY,\n    host: url.searchParams.get(\"host\"),\n  });\n}\n\nexport default function App() {\n  const { apiKey } = useLoaderData();\n\n  return (\n    <AppProvider isEmbeddedApp apiKey={apiKey}>\n        <DiscountProvider>\n          <ui-nav-menu>\n            <Link to=\"/app\" rel=\"home\">\n              Home\n            </Link>\n            <Link to=\"/app/additional\">Additional page</Link>\n          </ui-nav-menu>\n          <Outlet />\n        </DiscountProvider>\n    </AppProvider>\n  );\n}\n\n// Shopify needs Remix to catch some thrown responses, so that their headers are included in the response.\nexport function ErrorBoundary() {\n  return boundary.error(useRouteError());\n}\n\nexport const headers = (headersArgs) => {\n  return boundary.headers(headersArgs);\n};\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/app.volume-discount.$functionId.$id.jsx",
    "content": "import { returnToDiscounts } from \"~/utils/navigation\";\nimport { json } from \"@remix-run/node\";\nimport { useForm, useField } from \"@shopify/react-form\";\nimport { CurrencyCode } from \"@shopify/react-i18n\";\nimport {\n  Form,\n  useActionData,\n  useLoaderData,\n  useNavigation,\n  useSubmit,\n} from \"@remix-run/react\";\nimport {\n  ActiveDatesCard,\n  CombinationCard,\n  DiscountClass,\n  DiscountMethod,\n  MethodCard,\n  DiscountStatus,\n  RequirementType,\n  SummaryCard,\n  UsageLimitsCard,\n} from \"@shopify/discount-app-components\";\nimport {\n  Banner,\n  Card,\n  Text,\n  Layout,\n  Page,\n  PageActions,\n  TextField,\n  BlockStack,\n  Box,\n} from \"@shopify/polaris\";\n\nimport shopify from \"../shopify.server\";\nimport { NotFoundPage } from \"../components/NotFoundPage\";\n\n// This is a server-side action that is invoked when the form is submitted.\n// It makes an admin GraphQL request to update a discount.\nexport const action = async ({ params, request }) => {\n  const { id, functionId } = params;\n  const { admin } = await shopify.authenticate.admin(request);\n  const formData = await request.formData();\n  const {\n    title,\n    method,\n    code,\n    combinesWith,\n    usageLimit,\n    appliesOncePerCustomer,\n    startsAt,\n    endsAt,\n    configuration,\n  } = JSON.parse(formData.get(\"discount\"));\n\n  const baseDiscount = {\n    functionId,\n    title,\n    combinesWith,\n    startsAt: new Date(startsAt),\n    endsAt: endsAt && new Date(endsAt),\n  };\n\n  if (method === DiscountMethod.Code) {\n    const baseCodeDiscount = {\n      ...baseDiscount,\n      title: code,\n      code,\n      usageLimit,\n      appliesOncePerCustomer,\n    };\n\n    const response = await admin.graphql(\n      `#graphql\n          mutation UpdateCodeDiscount($id: ID!, $discount: DiscountCodeAppInput!) {\n            discountUpdate: discountCodeAppUpdate(id: $id, codeAppDiscount: $discount) {\n              userErrors {\n                code\n                message\n                field\n              }\n            }\n          }`,\n      {\n        variables: {\n          id: `gid://shopify/DiscountCodeApp/${id}`,\n          discount: {\n            ...baseCodeDiscount,\n            metafields: [\n              {\n                id: configuration.metafieldId,\n                value: JSON.stringify({\n                  quantity: configuration.quantity,\n                  percentage: configuration.percentage,\n                }),\n              },\n            ],\n          },\n        },\n      },\n    );\n\n    const responseJson = await response.json();\n    const errors = responseJson.data.discountUpdate?.userErrors;\n    return json({ errors });\n  } else {\n    const response = await admin.graphql(\n      `#graphql\n          mutation UpdateAutomaticDiscount($id: ID!, $discount: DiscountAutomaticAppInput!) {\n            discountUpdate: discountAutomaticAppUpdate(id: $id, automaticAppDiscount: $discount) {\n              userErrors {\n                code\n                message\n                field\n              }\n            }\n          }`,\n      {\n        variables: {\n          id: `gid://shopify/DiscountAutomaticApp/${id}`,\n          discount: {\n            ...baseDiscount,\n            metafields: [\n              {\n                id: configuration.metafieldId,\n                value: JSON.stringify({\n                  quantity: configuration.quantity,\n                  percentage: configuration.percentage,\n                }),\n              },\n            ],\n          },\n        },\n      },\n    );\n\n    const responseJson = await response.json();\n    const errors = responseJson.data.discountUpdate?.userErrors;\n    return json({ errors });\n  }\n};\n\n// This is invoked on the server to load the discount data with an admin GraphQL request. The result\n// is used by the component below to render the form.\nexport const loader = async ({ params, request }) => {\n  const { id } = params;\n  const { admin } = await shopify.authenticate.admin(request);\n\n  const response = await admin.graphql(\n    `#graphql\n      query GetDiscount($id: ID!) {\n        discountNode(id: $id) {\n          id\n          configurationField: metafield(\n            namespace: \"$app:volume-discount\"\n            key: \"function-configuration\"\n          ) {\n            id\n            value\n          }\n          discount {\n            __typename\n            ... on DiscountAutomaticApp {\n              title\n              discountClass\n              combinesWith {\n                orderDiscounts\n                productDiscounts\n                shippingDiscounts\n              }\n              startsAt\n              endsAt\n            }\n            ... on DiscountCodeApp {\n              title\n              discountClass\n              combinesWith {\n                orderDiscounts\n                productDiscounts\n                shippingDiscounts\n              }\n              startsAt\n              endsAt\n              usageLimit\n              appliesOncePerCustomer\n              codes(first: 1) {\n                nodes {\n                  code\n                }\n              }\n            }\n          }\n        }\n      }`,\n    {\n      variables: {\n        id: `gid://shopify/DiscountNode/${id}`,\n      },\n    },\n  );\n\n  const responseJson = await response.json();\n\n  if (\n    !responseJson.data.discountNode ||\n    !responseJson.data.discountNode.discount\n  ) {\n    return json({ discount: null });\n  }\n\n  const method =\n    responseJson.data.discountNode.discount.__typename === \"DiscountCodeApp\"\n      ? DiscountMethod.Code\n      : DiscountMethod.Automatic;\n  const {\n    title,\n    codes,\n    combinesWith,\n    usageLimit,\n    appliesOncePerCustomer,\n    startsAt,\n    endsAt,\n  } = responseJson.data.discountNode.discount;\n  const configuration = JSON.parse(\n    responseJson.data.discountNode.configurationField.value,\n  );\n\n  const discount = {\n    title,\n    method,\n    code: codes?.nodes[0]?.code ?? \"\",\n    combinesWith,\n    usageLimit: usageLimit ?? null,\n    appliesOncePerCustomer: appliesOncePerCustomer ?? false,\n    startsAt,\n    endsAt,\n    configuration: {\n      ...configuration,\n      metafieldId: responseJson.data.discountNode.configurationField.id,\n    },\n  };\n\n  return json({ discount });\n};\n\n// This is the React component for the page.\nexport default function VolumeEdit() {\n  const submitForm = useSubmit();\n  const actionData = useActionData();\n  const { discount } = useLoaderData();\n  const navigation = useNavigation();\n  const isLoading = navigation.state === \"submitting\";\n  const currencyCode = CurrencyCode.Cad;\n  const submitErrors = actionData?.errors || [];\n\n  if (!discount) {\n    return <NotFoundPage />;\n  }\n\n  const { metafieldId } = discount.configuration;\n  const {\n    fields: {\n      discountTitle,\n      discountCode,\n      discountMethod,\n      combinesWith,\n      requirementType,\n      requirementSubtotal,\n      requirementQuantity,\n      usageLimit,\n      appliesOncePerCustomer,\n      startDate,\n      endDate,\n      configuration,\n    },\n    submit,\n  } = useForm({\n    fields: {\n      discountTitle: useField(discount.title),\n      discountMethod: useField(discount.method),\n      discountCode: useField(discount.code),\n      combinesWith: useField(discount.combinesWith),\n      requirementType: useField(RequirementType.None),\n      requirementSubtotal: useField(\"0\"),\n      requirementQuantity: useField(\"0\"),\n      usageLimit: useField(discount.usageLimit),\n      appliesOncePerCustomer: useField(discount.appliesOncePerCustomer),\n      startDate: useField(discount.startsAt),\n      endDate: useField(discount.endsAt),\n      configuration: {\n        quantity: useField(discount.configuration.quantity),\n        percentage: useField(discount.configuration.percentage),\n      },\n    },\n    onSubmit: async (form) => {\n      const discount = {\n        title: form.discountTitle,\n        method: form.discountMethod,\n        code: form.discountCode,\n        combinesWith: form.combinesWith,\n        usageLimit: form.usageLimit == null ? null : parseInt(form.usageLimit),\n        appliesOncePerCustomer: form.appliesOncePerCustomer,\n        startsAt: form.startDate,\n        endsAt: form.endDate,\n        configuration: {\n          metafieldId,\n          quantity: parseInt(form.configuration.quantity),\n          percentage: parseFloat(form.configuration.percentage),\n        },\n      };\n\n      submitForm({ discount: JSON.stringify(discount) }, { method: \"post\" });\n\n      return { status: \"success\" };\n    },\n  });\n\n  const errorBanner =\n    submitErrors.length > 0 ? (\n      <Layout.Section>\n        <Banner tone=\"critical\">\n          <p>There were some issues with your form submission:</p>\n          <ul>\n            {submitErrors.map(({ message, field }, index) => {\n              return (\n                <li key={`${message}${index}`}>\n                  {field.join(\".\")} {message}\n                </li>\n              );\n            })}\n          </ul>\n        </Banner>\n      </Layout.Section>\n    ) : null;\n\n  return (\n    // Render a discount form using Polaris components and the discount app components\n    <Page>\n      <ui-title-bar title=\"Create volume discount\">\n        <button variant=\"breadcrumb\" onClick={returnToDiscounts}>\n          Discounts\n        </button>\n        <button variant=\"primary\" onClick={submit}>\n          Save discount\n        </button>\n      </ui-title-bar>\n      <Layout>\n        {errorBanner}\n        <Layout.Section>\n          <Form method=\"post\">\n            <BlockStack align=\"space-around\" gap=\"200\">\n              <MethodCard\n                title=\"Volume\"\n                discountTitle={discountTitle}\n                discountClass={DiscountClass.Product}\n                discountCode={discountCode}\n                discountMethod={discountMethod}\n              />\n              <Box paddingBlockEnd=\"400\">\n                <Card>\n                  <BlockStack gap=\"300\">\n                    <Text variant=\"headingMd\" as=\"h2\">\n                      Volume\n                    </Text>\n                    <TextField\n                      label=\"Minimum quantity\"\n                      autoComplete=\"on\"\n                      {...configuration.quantity}\n                    />\n                    <TextField\n                      label=\"Discount percentage\"\n                      autoComplete=\"on\"\n                      {...configuration.percentage}\n                      suffix=\"%\"\n                    />\n                  </BlockStack>\n                </Card>\n              </Box>\n              {discountMethod.value === DiscountMethod.Code && (\n                <UsageLimitsCard\n                  totalUsageLimit={usageLimit}\n                  oncePerCustomer={appliesOncePerCustomer}\n                />\n              )}\n              <CombinationCard\n                combinableDiscountTypes={combinesWith}\n                discountClass={DiscountClass.Product}\n                discountDescriptor={\"Discount\"}\n              />\n              <ActiveDatesCard\n                startDate={startDate}\n                endDate={endDate}\n                timezoneAbbreviation=\"EST\"\n              />\n            </BlockStack>\n          </Form>\n        </Layout.Section>\n        <Layout.Section variant=\"oneThird\">\n          <SummaryCard\n            header={{\n              discountMethod: discountMethod.value,\n              discountDescriptor:\n                discountMethod.value === DiscountMethod.Automatic\n                  ? discountTitle.value\n                  : discountCode.value,\n              appDiscountType: \"Volume\",\n              isEditing: false,\n            }}\n            performance={{\n              status: DiscountStatus.Scheduled,\n              usageCount: 0,\n              isEditing: false,\n            }}\n            minimumRequirements={{\n              requirementType: requirementType.value,\n              subtotal: requirementSubtotal.value,\n              quantity: requirementQuantity.value,\n              currencyCode: currencyCode,\n            }}\n            usageLimits={{\n              oncePerCustomer: appliesOncePerCustomer.value,\n              totalUsageLimit: usageLimit.value,\n            }}\n            activeDates={{\n              startDate: startDate.value,\n              endDate: endDate.value,\n            }}\n          />\n        </Layout.Section>\n        <Layout.Section>\n          <PageActions\n            primaryAction={{\n              content: \"Save discount\",\n              onAction: submit,\n              loading: isLoading,\n            }}\n            secondaryActions={[\n              {\n                content: \"Discard\",\n                onAction: returnToDiscounts,\n              },\n            ]}\n          />\n        </Layout.Section>\n      </Layout>\n    </Page>\n  );\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/app.volume-discount.$functionId.new.jsx",
    "content": "import { useEffect, useMemo } from \"react\";\nimport { json } from \"@remix-run/node\";\nimport { useForm, useField } from \"@shopify/react-form\";\nimport { CurrencyCode } from \"@shopify/react-i18n\";\nimport {\n  Form,\n  useActionData,\n  useNavigation,\n  useSubmit,\n} from \"@remix-run/react\";\nimport {\n  ActiveDatesCard,\n  CombinationCard,\n  DiscountClass,\n  DiscountMethod,\n  MethodCard,\n  DiscountStatus,\n  RequirementType,\n  SummaryCard,\n  UsageLimitsCard,\n} from \"@shopify/discount-app-components\";\nimport {\n  Banner,\n  Card,\n  Text,\n  Layout,\n  Page,\n  PageActions,\n  TextField,\n  BlockStack,\n  Box,\n} from \"@shopify/polaris\";\n\nimport shopify from \"../shopify.server\";\nimport { returnToDiscounts } from \"~/utils/navigation\";\n\n// This is a server-side action that is invoked when the form is submitted.\n// It makes an admin GraphQL request to create a discount.\nexport const action = async ({ params, request }) => {\n  const { functionId } = params;\n  const { admin } = await shopify.authenticate.admin(request);\n  const formData = await request.formData();\n  const {\n    title,\n    method,\n    code,\n    combinesWith,\n    usageLimit,\n    appliesOncePerCustomer,\n    startsAt,\n    endsAt,\n    configuration,\n  } = JSON.parse(formData.get(\"discount\"));\n\n  const baseDiscount = {\n    functionId,\n    title,\n    combinesWith,\n    startsAt: new Date(startsAt),\n    endsAt: endsAt && new Date(endsAt),\n  };\n\n  if (method === DiscountMethod.Code) {\n    const baseCodeDiscount = {\n      ...baseDiscount,\n      title: code,\n      code,\n      usageLimit,\n      appliesOncePerCustomer,\n    };\n\n    const response = await admin.graphql(\n      `#graphql\n          mutation CreateCodeDiscount($discount: DiscountCodeAppInput!) {\n            discountCreate: discountCodeAppCreate(codeAppDiscount: $discount) {\n              codeAppDiscount{\n                discountId\n              }\n              userErrors {\n                code\n                message\n                field\n              }\n            }\n          }`,\n      {\n        variables: {\n          discount: {\n            ...baseCodeDiscount,\n            metafields: [\n              {\n                namespace: \"$app:volume-discount\",\n                key: \"function-configuration\",\n                type: \"json\",\n                value: JSON.stringify({\n                  quantity: configuration.quantity,\n                  percentage: configuration.percentage,\n                }),\n              },\n            ],\n          },\n        },\n      },\n    );\n\n    const responseJson = await response.json();\n\n    const errors = responseJson.data.discountCreate?.userErrors;\n    const discount = responseJson.data.discountCreate?.codeAppDiscount;\n    return json({ errors, discount: { ...discount, functionId } });\n  } else {\n    const response = await admin.graphql(\n      `#graphql\n          mutation CreateAutomaticDiscount($discount: DiscountAutomaticAppInput!) {\n            discountCreate: discountAutomaticAppCreate(automaticAppDiscount: $discount) {\n              automaticAppDiscount {\n                discountId\n              }\n              userErrors {\n                code\n                message\n                field\n              }\n            }\n          }`,\n      {\n        variables: {\n          discount: {\n            ...baseDiscount,\n            metafields: [\n              {\n                namespace: \"$app:volume-discount\",\n                key: \"function-configuration\",\n                type: \"json\",\n                value: JSON.stringify({\n                  quantity: configuration.quantity,\n                  percentage: configuration.percentage,\n                }),\n              },\n            ],\n          },\n        },\n      },\n    );\n\n    const responseJson = await response.json();\n    const errors = responseJson.data.discountCreate?.userErrors;\n    return json({ errors });\n  }\n};\n\n// This is the React component for the page.\nexport default function VolumeNew() {\n  const submitForm = useSubmit();\n  const actionData = useActionData();\n  const navigation = useNavigation();\n  const todaysDate = useMemo(() => new Date(), []);\n\n  const isLoading = navigation.state === \"submitting\";\n  const currencyCode = CurrencyCode.Cad;\n  const submitErrors = actionData?.errors || [];\n\n  useEffect(() => {\n    if (actionData?.errors.length === 0 && actionData?.discount) {\n      returnToDiscounts();\n    }\n  }, [actionData]);\n\n  const {\n    fields: {\n      discountTitle,\n      discountCode,\n      discountMethod,\n      combinesWith,\n      requirementType,\n      requirementSubtotal,\n      requirementQuantity,\n      usageLimit,\n      appliesOncePerCustomer,\n      startDate,\n      endDate,\n      configuration,\n    },\n    submit,\n  } = useForm({\n    fields: {\n      discountTitle: useField(\"\"),\n      discountMethod: useField(DiscountMethod.Code),\n      discountCode: useField(\"\"),\n      combinesWith: useField({\n        orderDiscounts: false,\n        productDiscounts: false,\n        shippingDiscounts: false,\n      }),\n      requirementType: useField(RequirementType.None),\n      requirementSubtotal: useField(\"0\"),\n      requirementQuantity: useField(\"0\"),\n      usageLimit: useField(null),\n      appliesOncePerCustomer: useField(false),\n      startDate: useField(todaysDate),\n      endDate: useField(null),\n      configuration: {\n        quantity: useField(\"0\"),\n        percentage: useField(\"0\"),\n      },\n    },\n    onSubmit: async (form) => {\n      const discount = {\n        title: form.discountTitle,\n        method: form.discountMethod,\n        code: form.discountCode,\n        combinesWith: form.combinesWith,\n        usageLimit: form.usageLimit == null ? null : parseInt(form.usageLimit),\n        appliesOncePerCustomer: form.appliesOncePerCustomer,\n        startsAt: form.startDate,\n        endsAt: form.endDate,\n        configuration: {\n          quantity: parseInt(form.configuration.quantity),\n          percentage: parseFloat(form.configuration.percentage),\n        },\n      };\n\n      submitForm({ discount: JSON.stringify(discount) }, { method: \"post\" });\n\n      return { status: \"success\" };\n    },\n  });\n\n  const errorBanner =\n    submitErrors.length > 0 ? (\n      <Layout.Section>\n        <Banner tone=\"critical\">\n          <p>There were some issues with your form submission:</p>\n          <ul>\n            {submitErrors.map(({ message, field }, index) => {\n              return (\n                <li key={`${message}${index}`}>\n                  {field.join(\".\")} {message}\n                </li>\n              );\n            })}\n          </ul>\n        </Banner>\n      </Layout.Section>\n    ) : null;\n\n  return (\n    // Render a discount form using Polaris components and the discount app components\n    <Page>\n      <ui-title-bar title=\"Create volume discount\">\n        <button variant=\"breadcrumb\" onClick={returnToDiscounts}>\n          Discounts\n        </button>\n        <button variant=\"primary\" onClick={submit}>\n          Save discount\n        </button>\n      </ui-title-bar>\n      <Layout>\n        {errorBanner}\n        <Layout.Section>\n          <Form method=\"post\">\n            <BlockStack align=\"space-around\" gap=\"200\">\n              <MethodCard\n                title=\"Volume\"\n                discountTitle={discountTitle}\n                discountClass={DiscountClass.Product}\n                discountCode={discountCode}\n                discountMethod={discountMethod}\n              />\n              <Box paddingBlockEnd=\"300\">\n                <Card>\n                  <BlockStack>\n                    <Text variant=\"headingMd\" as=\"h2\">\n                      Volume\n                    </Text>\n                    <TextField\n                      label=\"Minimum quantity\"\n                      autoComplete=\"on\"\n                      {...configuration.quantity}\n                    />\n                    <TextField\n                      label=\"Discount percentage\"\n                      autoComplete=\"on\"\n                      {...configuration.percentage}\n                      suffix=\"%\"\n                    />\n                  </BlockStack>\n                </Card>\n              </Box>\n              {discountMethod.value === DiscountMethod.Code && (\n                <UsageLimitsCard\n                  totalUsageLimit={usageLimit}\n                  oncePerCustomer={appliesOncePerCustomer}\n                />\n              )}\n              <CombinationCard\n                combinableDiscountTypes={combinesWith}\n                discountClass={DiscountClass.Product}\n                discountDescriptor={\"Discount\"}\n              />\n              <ActiveDatesCard\n                startDate={startDate}\n                endDate={endDate}\n                timezoneAbbreviation=\"EST\"\n              />\n            </BlockStack>\n          </Form>\n        </Layout.Section>\n        <Layout.Section variant=\"oneThird\">\n          <SummaryCard\n            header={{\n              discountMethod: discountMethod.value,\n              discountDescriptor:\n                discountMethod.value === DiscountMethod.Automatic\n                  ? discountTitle.value\n                  : discountCode.value,\n              appDiscountType: \"Volume\",\n              isEditing: false,\n            }}\n            performance={{\n              status: DiscountStatus.Scheduled,\n              usageCount: 0,\n              isEditing: false,\n            }}\n            minimumRequirements={{\n              requirementType: requirementType.value,\n              subtotal: requirementSubtotal.value,\n              quantity: requirementQuantity.value,\n              currencyCode: currencyCode,\n            }}\n            usageLimits={{\n              oncePerCustomer: appliesOncePerCustomer.value,\n              totalUsageLimit: usageLimit.value,\n            }}\n            activeDates={{\n              startDate: startDate.value,\n              endDate: endDate.value,\n            }}\n          />\n        </Layout.Section>\n        <Layout.Section>\n          <PageActions\n            primaryAction={{\n              content: \"Save discount\",\n              onAction: submit,\n              loading: isLoading,\n            }}\n            secondaryActions={[\n              {\n                content: \"Discard\",\n                onAction: returnToDiscounts,\n              },\n            ]}\n          />\n        </Layout.Section>\n      </Layout>\n    </Page>\n  );\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/auth.$.jsx",
    "content": "import { authenticate } from \"../shopify.server\";\n\nexport async function loader({ request }) {\n  await authenticate.admin(request);\n\n  return null;\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/auth.login/error.server.jsx",
    "content": "import { LoginErrorType } from \"@shopify/shopify-app-remix/server\";\n\nexport function loginErrorMessage(loginErrors) {\n  if (loginErrors?.shop === LoginErrorType.MissingShop) {\n    return { shop: \"Please enter your shop domain to log in\" };\n  } else if (loginErrors?.shop === LoginErrorType.InvalidShop) {\n    return { shop: \"Please enter a valid shop domain to log in\" };\n  }\n\n  return {};\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/auth.login/route.jsx",
    "content": "import { useState } from \"react\";\nimport { json } from \"@remix-run/node\";\nimport {\n  AppProvider as PolarisAppProvider,\n  Button,\n  Card,\n  FormLayout,\n  Page,\n  Text,\n  TextField,\n} from \"@shopify/polaris\";\n\nimport { Form, useActionData, useLoaderData } from \"@remix-run/react\";\nimport polarisStyles from \"@shopify/polaris/build/esm/styles.css\";\n\nimport { login } from \"../../shopify.server\";\nimport { loginErrorMessage } from \"./error.server\";\n\nexport const links = () => [{ rel: \"stylesheet\", href: polarisStyles }];\n\nexport async function loader({ request }) {\n  const errors = loginErrorMessage(await login(request));\n\n  return json({\n    errors,\n    polarisTranslations: require(`@shopify/polaris/locales/en.json`),\n  });\n}\n\nexport async function action({ request }) {\n  const errors = loginErrorMessage(await login(request));\n\n  return json({\n    errors,\n  });\n}\n\nexport default function Auth() {\n  const { polarisTranslations } = useLoaderData();\n  const loaderData = useLoaderData();\n  const actionData = useActionData();\n  const [shop, setShop] = useState(\"\");\n  const { errors } = actionData || loaderData;\n\n  return (\n    <PolarisAppProvider i18n={polarisTranslations}>\n      <Page>\n        <Card>\n          <Form method=\"post\">\n            <FormLayout>\n              <Text variant=\"headingMd\" as=\"h2\">\n                Log in\n              </Text>\n              <TextField\n                type=\"text\"\n                name=\"shop\"\n                label=\"Shop domain\"\n                helpText=\"example.myshopify.com\"\n                value={shop}\n                onChange={setShop}\n                autoComplete=\"on\"\n                error={errors.shop}\n              />\n              <Button submit>Log in</Button>\n            </FormLayout>\n          </Form>\n        </Card>\n      </Page>\n    </PolarisAppProvider>\n  );\n}\n"
  },
  {
    "path": "sample-apps/discounts/app/routes/webhooks.jsx",
    "content": "import { authenticate } from \"../shopify.server\";\nimport db from \"../db.server\";\n\nexport const action = async ({ request }) => {\n  const { topic, shop, session } = await authenticate.webhook(request);\n\n  switch (topic) {\n    case \"APP_UNINSTALLED\":\n      if (session) {\n        await db.session.deleteMany({ where: { shop } });\n      }\n      break;\n    case \"CUSTOMERS_DATA_REQUEST\":\n    case \"CUSTOMERS_REDACT\":\n    case \"SHOP_REDACT\":\n    default:\n      throw new Response(\"Unhandled webhook topic\", { status: 404 });\n  }\n\n  throw new Response();\n};\n"
  },
  {
    "path": "sample-apps/discounts/app/shopify.server.js",
    "content": "import \"@shopify/shopify-app-remix/adapters/node\";\nimport {\n  AppDistribution,\n  DeliveryMethod,\n  shopifyApp,\n  LATEST_API_VERSION,\n} from \"@shopify/shopify-app-remix/server\";\nimport { PrismaSessionStorage } from \"@shopify/shopify-app-session-storage-prisma\";\nimport { restResources } from \"@shopify/shopify-api/rest/admin/2023-07\";\n\nimport prisma from \"./db.server\";\n\nconst shopify = shopifyApp({\n  apiKey: process.env.SHOPIFY_API_KEY,\n  apiSecretKey: process.env.SHOPIFY_API_SECRET || \"\",\n  apiVersion: LATEST_API_VERSION,\n  scopes: process.env.SCOPES?.split(\",\"),\n  appUrl: process.env.SHOPIFY_APP_URL || \"\",\n  authPathPrefix: \"/auth\",\n  sessionStorage: new PrismaSessionStorage(prisma),\n  distribution: AppDistribution.AppStore,\n  restResources,\n  webhooks: {\n    APP_UNINSTALLED: {\n      deliveryMethod: DeliveryMethod.Http,\n      callbackUrl: \"/webhooks\",\n    },\n  },\n  hooks: {\n    afterAuth: async ({ session }) => {\n      shopify.registerWebhooks({ session });\n    },\n  },\n  ...(process.env.SHOP_CUSTOM_DOMAIN\n    ? { customShopDomains: [process.env.SHOP_CUSTOM_DOMAIN] }\n    : {}),\n});\n\nexport default shopify;\nexport const apiVersion = LATEST_API_VERSION;\nexport const addDocumentResponseHeaders = shopify.addDocumentResponseHeaders;\nexport const authenticate = shopify.authenticate;\nexport const unauthenticated = shopify.unauthenticated;\nexport const login = shopify.login;\nexport const registerWebhooks = shopify.registerWebhooks;\nexport const sessionStorage = shopify.sessionStorage;\n"
  },
  {
    "path": "sample-apps/discounts/app/utils/navigation.js",
    "content": "export function returnToDiscounts () {\n    open(\"shopify://admin/discounts\", \"_top\")\n}\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-js/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-js/locales/en.default.json",
    "content": "{\n  \"name\": \"Product Discount (JavaScript)\",\n  \"description\": \"A product discount developed in JavaScript.\"\n}\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-js/package.json",
    "content": "{\n  \"name\": \"product-discount-js\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"0.1.0\",\n    \"javy\": \"0.1.1\"\n  }\n}\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-js/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA price reduction applied to a product.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to products. This argument accepts a collection of either\n  `ProductVariantTarget` or `CartLineTarget`, but not both.\n\n  The `ProductVariantTarget` is used to target a specific product variant. A product variant is a specific\n  version of a product that comes in more than one option, such as size or color. For example, if a merchant\n  sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant\n  and a large, blue t-shirt would be another.\n\n  The `CartLineTarget` is used to target a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply all discounts with conditions that are met,\napply a discount only to the first line item in a cart that meets conditions,\nor apply only the discount that offers a maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Apply all discounts with conditions that are met. For example, you can use the `ALL` strategy to apply a\n  20% discount on a t-shirt, a $5 discount on a pair of shoes, and a 10% discount on a hat. The total\n  discount would be the sum of all three discounts, which would be applied to the order total. This strategy\n  doesn't override [discount combination](https://help.shopify.com/manual/discounts/discount-combinations)\n  rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Whether to apply the value to each entitled item.\n\n  The default value is `false`, which causes the value to be applied once across the entitled items.\n  When the value is `true`, the value will be applied to each of the entitled items.\n  \"\"\"\n  appliesToEachItem: Boolean\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply all discounts with conditions that are met,\n  apply a discount only to the first line item in a cart that meets conditions,\n  or apply only the discount that offers a maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply all discounts with conditions that are met,\n  apply a discount only to the first line item in a cart that meets conditions,\n  or apply only the discount that offers a maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.product-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nA method for applying a discount to a\n[product variant](https://help.shopify.com/manual/products/variants). Product variants\nare the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\nin a specific size and color, the t-shirt is a product variant. The discount can be applied to all\nproduct variants in the order, or to specific product variants that meet certain criteria.\n\"\"\"\ninput ProductVariantTarget {\n  \"\"\"\n  The ID of the targeted product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The maximum number of line item units to be discounted.\n  The default value is `null`, which represents the total quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe target for a discount. A discount's collection of targets determines which\ncart line(s) will have the discount value applied.\n\nA discount can have one or more `ProductVariantTarget`s.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to a\n  [product variant](https://help.shopify.com/manual/products/variants). Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  productVariant: ProductVariantTarget\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-js/shopify.extension.toml",
    "content": "api_version = \"2024-04\"\n\n[[extensions]]\nhandle = \"product-discount-js\"\nname = \"t:name\"\ndescription = \"t:description\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.product-discount.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/app/volume-discount/:functionId/new\"\n  details = \"/app/volume-discount/:functionId/:id\"\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-js/src/index.js",
    "content": "export * from './run';"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-js/src/run.graphql",
    "content": "query RunInput {\n  cart {\n    lines {\n      quantity\n      merchandise {\n        __typename\n        ... on ProductVariant {\n          id\n        }\n      }\n    }\n  }\n  discountNode {\n    metafield(\n      namespace: \"$app:volume-discount\"\n      key: \"function-configuration\"\n    ) {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-js/src/run.js",
    "content": "// @ts-check\nimport { DiscountApplicationStrategy } from \"../generated/api\";\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n * @typedef {import(\"../generated/api\").Target} Target\n * @typedef {import(\"../generated/api\").ProductVariant} ProductVariant\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst EMPTY_DISCOUNT = {\n  discountApplicationStrategy: DiscountApplicationStrategy.First,\n  discounts: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  /**\n   * @type {{\n  *   quantity: number\n  *   percentage: number\n  * }}\n  */\n  const configuration = JSON.parse(\n    input?.discountNode?.metafield?.value ?? \"{}\"\n  );\n  if (!configuration.quantity || !configuration.percentage) {\n    return EMPTY_DISCOUNT;\n  }\n\n  const targets = input.cart.lines\n    .filter(line => line.quantity >= configuration.quantity &&\n      line.merchandise.__typename == \"ProductVariant\")\n    .map(line => {\n      const variant = /** @type {ProductVariant} */ (line.merchandise);\n      return /** @type {Target} */ ({\n        productVariant: {\n          id: variant.id\n        }\n      });\n    });\n\n  if (!targets.length) {\n    console.error(\"No cart lines qualify for volume discount.\");\n    return EMPTY_DISCOUNT;\n  }\n\n  return {\n    discounts: [\n      {\n        targets,\n        value: {\n          percentage: {\n            value: configuration.percentage.toString()\n          }\n        }\n      }\n    ],\n    discountApplicationStrategy: DiscountApplicationStrategy.First\n  };\n};\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-js/src/run.test.js",
    "content": "import { describe, it, expect } from 'vitest';\nimport { DiscountApplicationStrategy } from '../generated/api';\nimport { run as productDiscount } from './run';\n\n/**\n * @typedef {import(\"../generated/api\").FunctionResult} FunctionResult\n */\n\ndescribe('product discount function', () => {\n    it('returns no discounts without configuration', () => {\n        const result = productDiscount({\n            \"cart\": {\n                \"lines\": [\n                    {\n                        \"quantity\": 10,\n                        \"merchandise\": {\n                            \"__typename\": \"ProductVariant\",\n                            \"id\": \"gid://shopify/ProductVariant/123456789\"\n                        }\n                    }\n                ]\n            },\n            \"discountNode\": {\n                \"metafield\": null\n            }\n        });\n\n        expect(result.discounts.length).toBe(0);\n    });\n\n    it('returns no discounts when quantity is unmet', () => {\n        const result = productDiscount({\n            \"cart\": {\n                \"lines\": [\n                    {\n                        \"quantity\": 1,\n                        \"merchandise\": {\n                            \"__typename\": \"ProductVariant\",\n                            \"id\": \"gid://shopify/ProductVariant/123456789\"\n                        }\n                    }\n                ]\n            },\n            \"discountNode\": {\n                \"metafield\": {\n                    \"value\": \"{\\\"quantity\\\":2,\\\"percentage\\\":5}\"\n                }\n            }\n        });\n\n        expect(result.discounts.length).toBe(0);\n    });\n\n    it('discounts variants when quantity is met', () => {\n        const result = productDiscount({\n            \"cart\": {\n                \"lines\": [\n                    {\n                        \"quantity\": 2,\n                        \"merchandise\": {\n                            \"__typename\": \"ProductVariant\",\n                            \"id\": \"gid://shopify/ProductVariant/123456789\"\n                        }\n                    },\n                    {\n                        \"quantity\": 3,\n                        \"merchandise\": {\n                            \"__typename\": \"ProductVariant\",\n                            \"id\": \"gid://shopify/ProductVariant/987654321\"\n                        }\n                    }\n                ]\n            },\n            \"discountNode\": {\n                \"metafield\": {\n                    \"value\": \"{\\\"quantity\\\":2,\\\"percentage\\\":5}\"\n                }\n            }\n        });\n        const expected = /** @type {FunctionResult} */ ({\n            discountApplicationStrategy: DiscountApplicationStrategy.First,\n            discounts: [{\n                targets: [\n                    {\n                        productVariant: {\n                            id: \"gid://shopify/ProductVariant/123456789\"\n                        }\n                    },\n                    {\n                        productVariant: {\n                            id: \"gid://shopify/ProductVariant/987654321\"\n                        }\n                    }\n                ],\n                value: {\n                    percentage: {\n                        value: \"5\"\n                    }\n                }\n            }]\n        });\n\n        expect(result).toEqual(expected);\n    });\n});\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-rust/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-rust/Cargo.toml",
    "content": "[package]\nname = \"product-discount-rust\"\nversion = \"1.0.0\"\nedition = \"2021\"\nrust-version = \"1.62\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-rust/README.md",
    "content": "# Shopify Function development with Rust\n\n## Dependencies\n\n- [Install Rust](https://www.rust-lang.org/tools/install)\n  - On Windows, Rust requires the [Microsoft C++ Build Tools](https://docs.microsoft.com/en-us/windows/dev-environment/rust/setup). Be sure to select the _Desktop development with C++_ workload when installing them.\n\n## Building the function\n\nYou can build this individual function using `cargo build`.\n\n```shell\ncargo build --target=wasm32-wasip1 --release\n```\n\nThe Shopify CLI `build` command will also execute this, based on the configuration in `shopify.extension.toml`.\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-rust/locales/en.default.json",
    "content": "{\n  \"name\": \"Product Discount (Rust)\",\n  \"description\": \"A product discount developed in Rust.\"\n}\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-rust/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nA price reduction applied to a product.\n\nDiscounts can be offered in various forms, such as a percentage off, a fixed amount off, or free shipping.\nThey can be applied automatically at checkout if certain conditions are met, or through a discount code that\ncustomers enter during checkout. Discounts are often used during promotional events or to attract first-time\ncustomers.\n\"\"\"\ninput Discount {\n  \"\"\"\n  A notification on the **Cart** page informs customers about available\n  discounts. If an automatic discount applies, the notification displays this\n  message, such as \"Save 20% on all t-shirts.\" If a discount code is entered,\n  the notification displays the code instead.\n  \"\"\"\n  message: String\n\n  \"\"\"\n  The method for applying the discount to products. This argument accepts a collection of either\n  `ProductVariantTarget` or `CartLineTarget`, but not both.\n\n  The `ProductVariantTarget` is used to target a specific product variant. A product variant is a specific\n  version of a product that comes in more than one option, such as size or color. For example, if a merchant\n  sells t-shirts with options for size and color, then a small, blue t-shirt would be one product variant\n  and a large, blue t-shirt would be another.\n\n  The `CartLineTarget` is used to target a specific line item in the cart. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  targets: [Target!]!\n\n  \"\"\"\n  The value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n  \"\"\"\n  value: Value!\n}\n\n\"\"\"\nThe approach that determines how multiple discounts are evaluated and\napplied to a cart. You can apply all discounts with conditions that are met,\napply a discount only to the first line item in a cart that meets conditions,\nor apply only the discount that offers a maximum price reduction.\n\"\"\"\nenum DiscountApplicationStrategy {\n  \"\"\"\n  Apply all discounts with conditions that are met. For example, you can use the `ALL` strategy to apply a\n  20% discount on a t-shirt, a $5 discount on a pair of shoes, and a 10% discount on a hat. The total\n  discount would be the sum of all three discounts, which would be applied to the order total. This strategy\n  doesn't override [discount combination](https://help.shopify.com/manual/discounts/discount-combinations)\n  rules.\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Only apply the discount to the first line item in a cart that meets conditions.\n  For example, you can use the `FIRST` strategy to apply a 20% discount to the first line item in a cart\n  and ensure no other discounts are applied.\n  \"\"\"\n  FIRST\n\n  \"\"\"\n  Only apply the discount that provides the greatest savings. For example, you can use the `MAXIMUM` strategy\n  to apply the higher of two discounts. If you have a 20% discount on a $30 t-shirt and a $5 discount on $40\n  shoes, then the 20% discount saves you $6 (20% of $30), while the $5 discount stays the same.\n  Since $6 is more than $5, the 20% discount on the t-shirt is applied.\n  \"\"\"\n  MAXIMUM\n}\n\n\"\"\"\nA discount wrapper node.\n\"\"\"\ntype DiscountNode implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA fixed amount value.\n\"\"\"\ninput FixedAmount {\n  \"\"\"\n  The fixed amount value of the discount, in the currency of the cart.\n\n  The amount must be greater than or equal to 0.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  Whether to apply the value to each entitled item.\n\n  The default value is `false`, which causes the value to be applied once across the entitled items.\n  When the value is `true`, the value will be applied to each of the entitled items.\n  \"\"\"\n  appliesToEachItem: Boolean\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply all discounts with conditions that are met,\n  apply a discount only to the first line item in a cart that meets conditions,\n  or apply only the discount that offers a maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the list of discounts and strategies to apply to each item\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The approach that determines how multiple discounts are evaluated and\n  applied to a cart. You can apply all discounts with conditions that are met,\n  apply a discount only to the first line item in a cart that meets conditions,\n  or apply only the discount that offers a maximum price reduction.\n  \"\"\"\n  discountApplicationStrategy: DiscountApplicationStrategy!\n\n  \"\"\"\n  The list of discounts that are applied to product variants or line items in a cart.\n  It includes data such as the discount value and the message associated with the discount.\n  \"\"\"\n  discounts: [Discount!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe input object for the function.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A wrapper around the discount that executes the Function. The `discountNode` field\n  enables you to manage [discounts](https://help.shopify.com/manual/discounts),\n  which are applied at checkout or on a cart.\n  \"\"\"\n  discountNode: DiscountNode!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.product-discount.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA percentage value.\n\"\"\"\ninput Percentage {\n  \"\"\"\n  The percentage value.\n\n  The value is validated against: >= 0 and <= 100.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nA method for applying a discount to a\n[product variant](https://help.shopify.com/manual/products/variants). Product variants\nare the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\nin a specific size and color, the t-shirt is a product variant. The discount can be applied to all\nproduct variants in the order, or to specific product variants that meet certain criteria.\n\"\"\"\ninput ProductVariantTarget {\n  \"\"\"\n  The ID of the targeted product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The maximum number of line item units to be discounted.\n  The default value is `null`, which represents the total quantity of the matching line items.\n\n  The value is validated against: > 0.\n  \"\"\"\n  quantity: Int\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nThe target for a discount. A discount's collection of targets determines which\ncart line(s) will have the discount value applied.\n\nA discount can have one or more `ProductVariantTarget`s.\n\"\"\"\ninput Target @oneOf {\n  \"\"\"\n  A method for applying a discount to a\n  [product variant](https://help.shopify.com/manual/products/variants). Product variants\n  are the different versions of a product that can be purchased. For example, if a customer orders a t-shirt\n  in a specific size and color, the t-shirt is a product variant. The discount can be applied to all\n  product variants in the order, or to specific product variants that meet certain criteria.\n  \"\"\"\n  productVariant: ProductVariantTarget\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nThe value of the discount. The value can be a fixed amount, like $5 (5.0), or a percentage, such as 10% (0.1).\n\"\"\"\ninput Value @oneOf {\n  \"\"\"\n  A fixed amount value.\n  \"\"\"\n  fixedAmount: FixedAmount\n\n  \"\"\"\n  A percentage value.\n  \"\"\"\n  percentage: Percentage\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-rust/shopify.extension.toml",
    "content": "api_version = \"2024-04\"\n\n[[extensions]]\nhandle = \"product-discount-rust\"\nname = \"t:name\"\ndescription = \"t:description\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.product-discount.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/product-discount-rust.wasm\"\n  watch = [\"src/**/*.rs\"]\n\n  [extensions.ui.paths]\n  create = \"/app/volume-discount/:functionId/new\"\n  details = \"/app/volume-discount/:functionId/:id\"\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-rust/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-rust/src/run.graphql",
    "content": "query Input {\n  cart {\n    lines {\n      quantity\n      merchandise {\n        __typename\n        ... on ProductVariant {\n          id\n        }\n      }\n    }\n  }\n  discountNode {\n    metafield(\n      namespace: \"$app:volume-discount\"\n      key: \"function-configuration\"\n    ) {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "sample-apps/discounts/extensions/product-discount-rust/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n#[derive(Serialize, Deserialize, PartialEq)]\n#[serde(rename_all(deserialize = \"camelCase\"))]\nstruct Configuration {\n    pub quantity: i64,\n    pub percentage: f64,\n}\n\nimpl Configuration {\n    const DEFAULT_QUANTITY: i64 = 999;\n    const DEFAULT_PERCENTAGE: f64 = 0.0;\n\n    fn from_str(value: &str) -> Self {\n        serde_json::from_str(value).expect(\"Unable to parse configuration value from metafield\")\n    }\n}\n\nimpl Default for Configuration {\n    fn default() -> Self {\n        Configuration {\n            quantity: Self::DEFAULT_QUANTITY,\n            percentage: Self::DEFAULT_PERCENTAGE,\n        }\n    }\n}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let no_discount = output::FunctionRunResult {\n        discounts: vec![],\n        discount_application_strategy: output::DiscountApplicationStrategy::FIRST,\n    };\n\n    let config = match input.discount_node.metafield {\n        Some(input::InputDiscountNodeMetafield { value }) => Configuration::from_str(&value),\n        None => return Ok(no_discount),\n    };\n\n    let targets = input\n        .cart\n        .lines\n        .iter()\n        .filter(|line| line.quantity >= config.quantity)\n        .filter_map(|line| match &line.merchandise {\n            input::InputCartLinesMerchandise::ProductVariant(variant) => Some(variant),\n            input::InputCartLinesMerchandise::CustomProduct => None,\n        })\n        .map(|variant| {\n            output::Target::ProductVariant(output::ProductVariantTarget {\n                id: variant.id.to_string(),\n                quantity: None,\n            })\n        })\n        .collect::<Vec<output::Target>>();\n\n    if targets.is_empty() {\n        eprintln!(\"No cart lines qualify for volume discount.\");\n        return Ok(no_discount);\n    }\n\n    Ok(output::FunctionRunResult {\n        discounts: vec![output::Discount {\n            message: None,\n            targets,\n            value: output::Value::Percentage(output::Percentage {\n                value: Decimal(config.percentage),\n            }),\n        }],\n        discount_application_strategy: output::DiscountApplicationStrategy::FIRST,\n    })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_no_metafield_result_contains_no_discounts() -> Result<()> {\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"lines\": [\n                            {\n                                \"quantity\": 10,\n                                \"merchandise\": {\n                                    \"__typename\": \"ProductVariant\",\n                                    \"id\": \"gid://shopify/ProductVariant/123456789\"\n                                }\n                            }\n                        ]\n                    },\n                    \"discountNode\": {\n                        \"metafield\": null\n                    }\n                }\n            \"#,\n        )?;\n        let expected = 0;\n\n        assert_eq!(result.discounts.len(), expected);\n        Ok(())\n    }\n\n    #[test]\n    fn test_quantity_unmet_result_contains_no_discounts() -> Result<()> {\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"lines\": [\n                            {\n                                \"quantity\": 1,\n                                \"merchandise\": {\n                                    \"__typename\": \"ProductVariant\",\n                                    \"id\": \"gid://shopify/ProductVariant/123456789\"\n                                }\n                            }\n                        ]\n                    },\n                    \"discountNode\": {\n                        \"metafield\": {\n                            \"value\": \"{\\\"quantity\\\":2,\\\"percentage\\\":5}\"\n                        }\n                    }\n                }\n            \"#,\n        )?;\n        let expected = 0;\n\n        assert_eq!(result.discounts.len(), expected);\n        Ok(())\n    }\n\n    #[test]\n    fn test_quantity_met_discounts_variants() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"lines\": [\n                            {\n                                \"quantity\": 2,\n                                \"merchandise\": {\n                                    \"__typename\": \"ProductVariant\",\n                                    \"id\": \"gid://shopify/ProductVariant/123456789\"\n                                }\n                            },\n                            {\n                                \"quantity\": 3,\n                                \"merchandise\": {\n                                    \"__typename\": \"ProductVariant\",\n                                    \"id\": \"gid://shopify/ProductVariant/987654321\"\n                                }\n                            }\n                        ]\n                    },\n                    \"discountNode\": {\n                        \"metafield\": {\n                            \"value\": \"{\\\"quantity\\\":2,\\\"percentage\\\":5}\"\n                        }\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult {\n            discount_application_strategy: DiscountApplicationStrategy::FIRST,\n            discounts: vec![Discount {\n                message: None,\n                targets: vec![\n                    Target::ProductVariant(ProductVariantTarget {\n                        id: \"gid://shopify/ProductVariant/123456789\".to_string(),\n                        quantity: None,\n                    }),\n                    Target::ProductVariant(ProductVariantTarget {\n                        id: \"gid://shopify/ProductVariant/987654321\".to_string(),\n                        quantity: None,\n                    }),\n                ],\n                value: Value::Percentage(Percentage {\n                    value: Decimal(5f64),\n                }),\n            }],\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "sample-apps/discounts/package.json",
    "content": "{\n  \"name\": \"discounts\",\n  \"private\": true,\n  \"scripts\": {\n    \"build\": \"NODE_ENV=production remix build\",\n    \"predev\": \"prisma generate && prisma migrate deploy\",\n    \"dev\": \"shopify app dev\",\n    \"config:link\": \"shopify app config link\",\n    \"config:push\": \"shopify app config push\",\n    \"generate\": \"shopify app generate\",\n    \"deploy\": \"shopify app deploy\",\n    \"config:use\": \"shopify app config use\",\n    \"env\": \"shopify app env\",\n    \"start\": \"remix-serve build\",\n    \"lint\": \"eslint --cache --cache-location ./node_modules/.cache/eslint .\",\n    \"shopify\": \"shopify\",\n    \"prisma\": \"prisma\",\n    \"setup\": \"prisma generate && prisma migrate deploy\"\n  },\n  \"dependencies\": {\n    \"@prisma/client\": \"^5.12.1\",\n    \"@remix-run/node\": \"^2.8.1\",\n    \"@remix-run/react\": \"^2.8.1\",\n    \"@remix-run/serve\": \"^2.8.1\",\n    \"@shopify/app\": \"3.58.2\",\n    \"@shopify/app-bridge-react\": \"^4.1.3\",\n    \"@shopify/app-bridge\": \"^3.7.10\",\n    \"@shopify/app-bridge-types\": \"^0.0.11\",\n    \"@shopify/cli\": \"3.59.0\",\n    \"@shopify/discount-app-components\": \"3.0.1\",\n    \"@shopify/polaris\": \"^13.0.0\",\n    \"@shopify/react-form\": \"^2.5.6\",\n    \"@shopify/shopify-app-remix\": \"^2.8.0\",\n    \"@shopify/shopify-app-session-storage-prisma\": \"^4.0.3\",\n    \"cross-env\": \"^7.0.3\",\n    \"isbot\": \"^5.1.4\",\n    \"prisma\": \"^5.12.1\",\n    \"react\": \"^18.2.0\",\n    \"react-dom\": \"^18.2.0\"\n  },\n  \"devDependencies\": {\n    \"@remix-run/dev\": \"^2.8.1\",\n    \"@remix-run/eslint-config\": \"^2.8.1\",\n    \"@types/eslint\": \"^8.56.9\",\n    \"eslint\": \"^8.0.0\",\n    \"eslint-config-prettier\": \"^9.1.0\",\n    \"prettier\": \"^3.2.5\"\n  },\n  \"workspaces\": [\n    \"web\",\n    \"web/frontend\",\n    \"extensions/*\"\n  ],\n  \"author\": \"andrewhassan\"\n}\n"
  },
  {
    "path": "sample-apps/discounts/prisma/migrations/20230615155147_create_session_table/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"Session\" (\n    \"id\" TEXT NOT NULL PRIMARY KEY,\n    \"shop\" TEXT NOT NULL,\n    \"state\" TEXT NOT NULL,\n    \"isOnline\" BOOLEAN NOT NULL DEFAULT false,\n    \"scope\" TEXT,\n    \"expires\" DATETIME,\n    \"accessToken\" TEXT NOT NULL,\n    \"userId\" BIGINT\n);\n"
  },
  {
    "path": "sample-apps/discounts/prisma/schema.prisma",
    "content": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n  provider = \"prisma-client-js\"\n}\n\ndatasource db {\n  provider = \"sqlite\"\n  url      = \"file:dev.sqlite\"\n}\n\nmodel Session {\n  id          String    @id\n  shop        String\n  state       String\n  isOnline    Boolean   @default(false)\n  scope       String?\n  expires     DateTime?\n  accessToken String\n  userId      BigInt?\n}\n"
  },
  {
    "path": "sample-apps/discounts/remix.config.js",
    "content": "// eslint-disable-next-line no-warning-comments\n// TODO: Document this properly somewhere. Where? We should discuss this issue with the CLI team.\n// Related: https://github.com/remix-run/remix/issues/2835#issuecomment-1144102176\n// Replace the HOST env var with SHOPIFY_APP_URL so that it doesn't break the remix server. The CLI will eventually\n// stop passing in HOST, so we can remove this workaround after the next major release.\nif (\n  process.env.HOST &&\n  (!process.env.SHOPIFY_APP_URL ||\n    process.env.SHOPIFY_APP_URL === process.env.HOST)\n) {\n  process.env.SHOPIFY_APP_URL = process.env.HOST;\n  delete process.env.HOST;\n}\n\n/** @type {import('@remix-run/dev').AppConfig} */\nmodule.exports = {\n  ignoredRouteFiles: [\"**/.*\"],\n  appDirectory: \"app\",\n  serverModuleFormat: \"cjs\",\n  future: {\n    v2_errorBoundary: true,\n    v2_headers: true,\n    v2_meta: true,\n    v2_normalizeFormMethod: true,\n    v2_routeConvention: true,\n    v2_dev: {\n      port: process.env.HMR_SERVER_PORT || 8002,\n    },\n  },\n};\n"
  },
  {
    "path": "sample-apps/discounts/shopify.app.toml",
    "content": "# Learn more about configuring your app at https://shopify.dev/docs/apps/tools/cli/configuration\n\nscopes = \"write_products,write_discounts\""
  },
  {
    "path": "sample-apps/discounts/shopify.web.toml",
    "content": "name = \"remix\"\nroles = [\"frontend\", \"backend\"]\nwebhooks_path = \"/webhooks\"\n\n[commands]\ndev = \"npm exec remix dev\"\n\n[hmr_server]\nhttp_paths = [\"/ping\"]\n"
  },
  {
    "path": "sample-apps/discounts/tsconfig.json",
    "content": "{\n  \"include\": [\"**/*.js\", \"**/*.jsx\", \"**/*.ts\", \"**/*.tsx\"],\n  \"compilerOptions\": {\n    \"lib\": [\"DOM\", \"DOM.Iterable\", \"ES2019\"],\n    \"isolatedModules\": true,\n    \"esModuleInterop\": true,\n    \"jsx\": \"react-jsx\",\n    \"moduleResolution\": \"node16\",\n    \"resolveJsonModule\": true,\n    \"target\": \"ES2019\",\n    \"strict\": true,\n    \"allowJs\": true,\n    \"checkJs\": true,\n    \"noImplicitAny\": false,\n    \"forceConsistentCasingInFileNames\": true,\n    \"baseUrl\": \".\",\n    \"paths\": {\n      \"~/*\": [\"./app/*\"]\n    },\n    \"types\": [\n      \"@shopify/app-bridge-types\"\n    ],\n    \"noEmit\": true\n  }\n}\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/.gitignore",
    "content": "# Environment Configuration\n.env\n.env.*\n\n# Dependency directory\nnode_modules\n\n# Test coverage directory\ncoverage\n\n# Ignore Apple macOS Desktop Services Store\n.DS_Store\n\n# Logs\nlogs\n*.log\n\n# extensions build output\nextensions/*/build\n\n# lock files\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/.npmrc",
    "content": "engine-strict=true\nauto-install-peers=true\nshamefully-hoist=true\n@shopify:registry=https://registry.npmjs.org\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/README.md",
    "content": "# Shopify App Template - None (app with extensions only)\n\nThis is a template for building a [Shopify app](https://shopify.dev/docs/apps/getting-started) that includes no app home UI. It contains the basics for building a Shopify app that uses only app extensions.\n\n**If you plan for your app to load its own page in the Shopify Admin, then you'll want to choose one of our other templates.**\n\nWhether you choose to use this template or another one, you can use your preferred package manager and the Shopify CLI with [these steps](#installing-the-template).\n\n## Benefits\n\nShopify apps are built on a variety of Shopify tools to create a great merchant experience. The [create an app](https://shopify.dev/docs/apps/getting-started/create) tutorial in our developer documentation will guide you through creating a Shopify app.\n\nThis app template does little more than install the CLI and scaffold a respository.\n\n## Getting started\n\n### Requirements\n\n1. You must [download and install Node.js](https://nodejs.org/en/download/) if you don't already have it.\n1. You must [create a Shopify partner account](https://partners.shopify.com/signup) if you don’t have one.\n1. You must create a store for testing if you don't have one, either a [development store](https://help.shopify.com/en/partners/dashboard/development-stores#create-a-development-store) or a [Shopify Plus sandbox store](https://help.shopify.com/en/partners/dashboard/managing-stores/plus-sandbox-store).\n\n### Installing the template\n\nThis template can be installed using your preferred package manager:\n\nUsing yarn:\n\n```shell\nyarn create @shopify/app\n```\n\nUsing npm:\n\n```shell\nnpm init @shopify/app@latest\n```\n\nUsing pnpm:\n\n```shell\npnpm create @shopify/app@latest\n```\n\nThis will clone the template and install the required dependencies.\n\n#### Local Development\n\n[The Shopify CLI](https://shopify.dev/docs/apps/tools/cli) connects to an app in your Partners dashboard. It provides environment variables and runs commands in parallel..\n\nYou can develop locally using your preferred package manager. Run one of the following commands from the root of your app.\n\nUsing yarn:\n\n```shell\nyarn dev\n```\n\nUsing npm:\n\n```shell\nnpm run dev\n```\n\nUsing pnpm:\n\n```shell\npnpm run dev\n```\n\nOpen the URL generated in your console. Once you grant permission to the app, you can start development (such as generating extensions).\n\n## Developer resources\n\n- [Introduction to Shopify apps](https://shopify.dev/docs/apps/getting-started)\n- [App authentication](https://shopify.dev/docs/apps/auth)\n- [Shopify CLI](https://shopify.dev/docs/apps/tools/cli)\n- [Shopify API Library documentation](https://github.com/Shopify/shopify-api-js#readme)\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-js/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-js/package.json",
    "content": "{\n  \"name\": \"add-ons-expand-example\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"0.1.0\",\n    \"javy\": \"0.1.1\"\n  }\n}\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-js/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-js/shopify.extension.toml",
    "content": "api_version = \"2024-04\"\n\n[[extensions]]\nhandle = \"add-ons-demo\"\nname = \"t:name\"\ndescription = \"t:description\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-js/src/index.js",
    "content": "export * from './run';\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-js/src/run.graphql",
    "content": "query RunInput {\n  presentmentCurrencyRate\n  cart {\n    lines {\n      id\n      quantity\n      cost {\n        amountPerQuantity {\n          amount\n          currencyCode\n        }\n      }\n      # Access the cart line attribute to decide if we should add a warranty\n      warrantyAdded: attribute(key: \"Warranty Added\") {\n        value\n      }\n      merchandise {\n        __typename\n        ... on ProductVariant {\n          id\n          title\n          product {\n            # Access the metafield value to determine the cost of the warranty\n            warrantyCostPercentage: metafield(namespace: \"$app:optional-add-ons\", key: \"function-configuration\") {\n              type\n              value\n            }\n          }\n        }\n      }\n    }\n  }\n  cartTransform {\n    # Access the variant ID that represents the warranty product\n    warrantyVariantID: metafield(namespace: \"$app:optional-add-ons\", key: \"function-configuration\") {\n      value\n    }\n  }\n}"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-js/src/run.js",
    "content": "// @ts-check\n\n/*\nA straightforward example of a function that expands a single line into a bundle with add-on products.\nThe add-on options are are stored in a line item property and metafield on the product.\n*/\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n * @typedef {import(\"../generated/api\").CartOperation} CartOperation\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst NO_CHANGES = {\n  operations: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const operations = input.cart.lines.reduce(\n    /** @param {CartOperation[]} acc */\n    (acc, cartLine) => {\n      const expandOperation = optionallyBuildExpandOperation(cartLine, input);\n\n      if (expandOperation) {\n        return [...acc, { expand: expandOperation }];\n      }\n\n      return acc;\n    },\n    []\n  );\n\n  return operations.length > 0 ? { operations } : NO_CHANGES;\n}\n\n/**\n * @param {RunInput['cart']['lines'][number]} cartLine\n * @param {RunInput} input\n */\nfunction optionallyBuildExpandOperation(\n  { id: cartLineId, merchandise, cost, warrantyAdded },\n  { cartTransform: { warrantyVariantID }, presentmentCurrencyRate }\n) {\n  const hasWarrantyMetafields =\n    merchandise.__typename === \"ProductVariant\" &&\n    !!merchandise.product.warrantyCostPercentage &&\n    !!warrantyVariantID;\n  const shouldAddWarranty = warrantyAdded?.value === \"Yes\";\n  const warrantyCostPercentage =\n    merchandise.__typename === \"ProductVariant\" &&\n    merchandise.product?.warrantyCostPercentage?.value\n      ? parseFloat(merchandise.product.warrantyCostPercentage.value)\n      : 100;\n\n  if (\n    merchandise.__typename === \"ProductVariant\" &&\n    hasWarrantyMetafields &&\n    shouldAddWarranty\n  ) {\n    return {\n      cartLineId,\n      title: `${merchandise.title} with warranty`,\n      // Optionally override the image for line item\n      // image: { url: \"https://cdn.shopify.com/.../something.png\" },\n      expandedCartItems: [\n        {\n          merchandiseId: warrantyVariantID.value,\n          quantity: 1,\n          price: {\n            adjustment: {\n              fixedPricePerUnit: {\n                amount: (\n                  cost.amountPerQuantity.amount *\n                  (warrantyCostPercentage / 100) *\n                  presentmentCurrencyRate\n                ).toFixed(2),\n              },\n            },\n          },\n        },\n      ],\n    };\n  }\n\n  return null;\n}\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-js/src/run.test.js",
    "content": "import { describe, it, expect } from \"vitest\";\nimport { run } from './run';\n\ndescribe(\"cart transform function\", () => {\n  it(\"returns NO_CHANGES when cart is empty\", () => {\n    expect(\n      run({\n        presentmentCurrencyRate: 1,\n        cart: {\n          lines: [],\n        },\n        cartTransform: {\n          warrantyVariantID: {\n            value: \"gid://shopify/ProductVariant/2\",\n          }\n        }\n      })\n    ).toStrictEqual({ operations: [] });\n  });\n\n  it(\"returns NO_CHANGES when cart contains no add-ons\", () => {\n    expect(\n      run({\n        presentmentCurrencyRate: 1,\n        cart: {\n          lines: [\n            {\n              id: \"1\",\n              cost: {\n                amountPerQuantity: {\n                  amount: \"100.0\",\n                  currencyCode: \"CAD\"\n                }\n              },\n              warrantyAdded: {\n                value: \"No\"\n              },\n              merchandise: {\n                __typename: \"ProductVariant\",\n                product: {\n                  warrantyCostPercentage: {\n                    type: \"number_integer\",\n                    value: 10,\n                  },\n                },\n              },\n            },\n          ],\n        },\n        cartTransform: {\n          warrantyVariantID: {\n            value: \"gid://shopify/ProductVariant/2\",\n          }\n        }\n      })\n    ).toStrictEqual({ operations: [] });\n  });\n\n  it(\"returns NO_CHANGES when cart contains no add-on cost\", () => {\n    expect(\n      run({\n        presentmentCurrencyRate: 1,\n        cart: {\n          lines: [\n            {\n              id: \"1\",\n              cost: {\n                amountPerQuantity: {\n                  amount: \"100.0\",\n                  currencyCode: \"CAD\"\n                }\n              },\n              warrantyAdded: {\n                value: \"Yes\"\n              },\n              merchandise: {\n                __typename: \"ProductVariant\",\n                product: {\n                  warrantyCostPercentage: null,\n                },\n              },\n            },\n          ],\n        },\n        cartTransform: {\n          warrantyVariantID: {\n            value: \"gid://shopify/ProductVariant/2\",\n          }\n        }\n      })\n    ).toStrictEqual({ operations: [] });\n  });\n\n  it(\"returns operations when cart contains an add-on\", () => {\n    expect(\n      run({\n        presentmentCurrencyRate: 1,\n        cart: {\n          lines: [\n            {\n              id: \"1\",\n              cost: {\n                amountPerQuantity: {\n                  amount: \"100.0\",\n                  currencyCode: \"CAD\"\n                }\n              },\n              warrantyAdded: {\n                value: \"Yes\"\n              },\n              merchandise: {\n                __typename: \"ProductVariant\",\n                title: \"Fancy Watch\",\n                product: {\n                  warrantyCostPercentage: {\n                    type: \"number_integer\",\n                    value: 10,\n                  },\n                },\n              },\n            },\n          ],\n        },\n        cartTransform: {\n          warrantyVariantID: {\n            value: \"gid://shopify/ProductVariant/2\",\n          }\n        }\n      })\n    ).toStrictEqual({\n      operations: [\n        {\n          expand: {\n            cartLineId: \"1\",\n            title: \"Fancy Watch with warranty\",\n            expandedCartItems: [\n              {\n                merchandiseId: \"gid://shopify/ProductVariant/2\",\n                quantity: 1,\n                price: {\n                  adjustment: {\n                    fixedPricePerUnit: {\n                      amount: \"10.00\",\n                    },\n                  },\n                },\n              },\n            ],\n          },\n        },\n      ],\n    });\n  });\n});\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-rust/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-rust/Cargo.toml",
    "content": "[package]\nname = \"optional-add-ons-rust\"\nversion = \"1.0.0\"\nedition = \"2021\"\nrust-version = \"1.62\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-rust/locales/en.default.json",
    "content": "{\n  \"name\": \"optional-add-ons-rust\",\n  \"description\": \"optional-add-ons-rust\"\n}\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-rust/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-rust/shopify.extension.toml",
    "content": "api_version = \"2024-04\"\n\n[[extensions]]\nhandle = \"optional-add-ons-rust\"\nname = \"t:name\"\ndescription = \"t:description\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/optional-add-ons-rust.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-rust/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-rust/src/run.graphql",
    "content": "query Input {\n  presentmentCurrencyRate\n  cart {\n    lines {\n      id\n      quantity\n      cost {\n        amountPerQuantity {\n          amount\n          currencyCode\n        }\n      }\n      # Access the cart line attribute to decide if we should add a warranty\n      warrantyAdded: attribute(key: \"Warranty Added\") {\n        value\n      }\n      merchandise {\n        __typename\n        ... on ProductVariant {\n          id\n          title\n          product {\n            # Access the metafield value to determine the cost of the warranty\n            warrantyCostPercentage: metafield(namespace: \"$app:optional-add-ons\", key: \"function-configuration\") {\n              type\n              value\n            }\n          }\n        }\n      }\n    }\n  }\n  cartTransform {\n    # Access the variant ID that represents the warranty product\n    warrantyVariantID: metafield(namespace: \"$app:optional-add-ons\", key: \"function-configuration\") {\n      value\n    }\n  }\n}"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/extensions/optional-add-ons-rust/src/run.rs",
    "content": "use run::input::InputCart as Cart;\nuse run::input::InputCartLines;\nuse run::input::InputCartLinesMerchandise::CustomProduct;\nuse run::input::InputCartLinesMerchandise::ProductVariant;\nuse run::input::InputCartTransform as CartTransform;\nuse run::output::CartOperation;\nuse run::output::ExpandOperation;\nuse run::output::ExpandedItem;\nuse run::output::ExpandedItemFixedPricePerUnitAdjustment;\nuse run::output::ExpandedItemPriceAdjustment;\nuse run::output::ExpandedItemPriceAdjustmentValue;\n\nuse shopify_function::prelude::*;\nuse shopify_function::Result;\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let presentment_currency_rate_f64 = input.presentment_currency_rate.0;\n    let cart_operations: Vec<CartOperation> = get_update_cart_operations(\n        &input.cart,\n        &input.cart_transform,\n        presentment_currency_rate_f64,\n    );\n\n    Ok(output::FunctionRunResult {\n        operations: cart_operations,\n    })\n}\n\nfn get_update_cart_operations(\n    cart: &Cart,\n    cart_transform: &CartTransform,\n    presentment_currency_rate: f64,\n) -> Vec<CartOperation> {\n    cart.lines\n        .iter()\n        .filter_map(|line| {\n            let warranty_added = get_warranty_added(line);\n            let warranty_cost_percentage = get_warranty_cost_percentage(line);\n            let warranty_variant_id = &cart_transform.warranty_variant_id;\n            if let (ProductVariant(variant), Some(_warranty_variant_id)) =\n                (&line.merchandise, warranty_variant_id)\n            {\n                if warranty_added && warranty_cost_percentage > 0.0 {\n                    let original_item = ExpandedItem {\n                        merchandise_id: variant.id.clone(),\n                        quantity: 1,\n                        price: Some(ExpandedItemPriceAdjustment {\n                            adjustment: ExpandedItemPriceAdjustmentValue::FixedPricePerUnit(\n                                ExpandedItemFixedPricePerUnitAdjustment {\n                                    amount: line.cost.amount_per_quantity.amount,\n                                },\n                            ),\n                        }),\n                        attributes: None,\n                    };\n                    let expanded_cart_item = ExpandedItem {\n                        merchandise_id: _warranty_variant_id.value.clone(),\n                        quantity: 1,\n                        price: Some(ExpandedItemPriceAdjustment {\n                            adjustment: ExpandedItemPriceAdjustmentValue::FixedPricePerUnit(\n                                ExpandedItemFixedPricePerUnitAdjustment {\n                                    amount: Decimal(\n                                        line.cost.amount_per_quantity.amount.0\n                                            * (warranty_cost_percentage / 100.0)\n                                            * presentment_currency_rate,\n                                    ),\n                                },\n                            ),\n                        }),\n                        attributes: None,\n                    };\n                    let expand_operation = ExpandOperation {\n                        cart_line_id: line.id.clone(),\n                        title: Some(variant.title.clone().unwrap_or_default()),\n                        image: None,\n                        price: None,\n                        expanded_cart_items: vec![original_item, expanded_cart_item],\n                    };\n                    Some(CartOperation::Expand(expand_operation))\n                } else {\n                    None\n                }\n            } else {\n                None\n            }\n        })\n        .collect()\n}\n\nfn get_warranty_added(line: &InputCartLines) -> bool {\n    match &line.warranty_added {\n        Some(input_cart_lines_warranty_added) => match &input_cart_lines_warranty_added.value {\n            Some(text) => text == \"Yes\",\n            None => false,\n        },\n        None => false,\n    }\n}\n\nfn get_warranty_cost_percentage(line: &InputCartLines) -> f64 {\n    match &line.merchandise {\n        ProductVariant(variant) => match &variant.product.warranty_cost_percentage {\n            Some(warranty_cost_percentage) => {\n                match &warranty_cost_percentage.value.parse::<f64>() {\n                    Ok(value) => *value,\n                    _parse_float_error => 100.0,\n                }\n            }\n            None => 100.0,\n        },\n        CustomProduct => 100.0,\n    }\n}\n"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/package.json",
    "content": "{\n  \"name\": \"optional-add-ons\",\n  \"version\": \"1.0.0\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"shopify\",\n    \"build\": \"shopify app build\",\n    \"dev\": \"shopify app dev\",\n    \"info\": \"shopify app info\",\n    \"generate\": \"shopify app generate\",\n    \"deploy\": \"shopify app deploy\"\n  },\n  \"dependencies\": {\n    \"@shopify/app\": \"3.49.5\",\n    \"@shopify/cli\": \"3.49.5\"\n  },\n  \"author\": \"spin\",\n  \"private\": true,\n  \"workspaces\": [\n    \"extensions/*\"\n  ]\n}"
  },
  {
    "path": "sample-apps/optional-add-ons-cart-transform/shopify.app.toml",
    "content": "# This file stores configurations for your Shopify app.\n# It must exist at the root of your app.\n\nscopes = \"\"\n"
  },
  {
    "path": "sample-apps/payment-customizations/.dockerignore",
    "content": ".cache\nbuild\nnode_modules\n"
  },
  {
    "path": "sample-apps/payment-customizations/.editorconfig",
    "content": "# editorconfig.org\nroot = true\n\n[*]\ncharset = utf-8\nindent_size = 2\nindent_style = space\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n# Markdown syntax specifies that trailing whitespaces can be meaningful,\n# so let’s not trim those. e.g. 2 trailing spaces = linebreak (<br />)\n# See https://daringfireball.net/projects/markdown/syntax#p\n[*.md]\ntrim_trailing_whitespace = false\n"
  },
  {
    "path": "sample-apps/payment-customizations/.eslintignore",
    "content": "node_modules\nbuild\npublic/build\n*/*.yml\n.shopify\n"
  },
  {
    "path": "sample-apps/payment-customizations/.eslintrc.cjs",
    "content": "/**\n * This is intended to be a basic starting point for linting in your app.\n * It relies on recommended configs out of the box for simplicity, but you can\n * and should modify this configuration to best suit your team's needs.\n */\n\n/** @type {import('eslint').Linter.Config} */\nmodule.exports = {\n  env: {\n    browser: true,\n    es2022: true,\n    node: true,\n  },\n  extends: [\n    'eslint:recommended',\n    'plugin:react/recommended',\n    'plugin:react-hooks/recommended',\n    'plugin:jsx-a11y/recommended',\n  ],\n  parserOptions: {\n    ecmaFeatures: {\n      jsx: true,\n    },\n    ecmaVersion: 'latest',\n    sourceType: 'module',\n  },\n  plugins: ['react', 'react-hooks', 'jsx-a11y', 'import'],\n  rules: {\n    'react/react-in-jsx-scope': 'off',\n    'react/prop-types': 'off',\n    'react/no-unknown-property': ['error', { ignore: ['variant', 'tone'] }],\n  },\n  settings: {\n    react: {\n      version: 'detect',\n    },\n  },\n};\n"
  },
  {
    "path": "sample-apps/payment-customizations/.gitignore",
    "content": "node_modules\n\n/.cache\n/build\n/app/build\n/public/build/\n/public/_dev\n/app/public/build\n/prisma/dev.sqlite\n/prisma/dev.sqlite-journal\ndatabase.sqlite\n\n.env\n.env.*\n\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\n\n/extensions/*/dist\n\n# Ignore shopify files created during app dev\n.shopify/*\n.shopify.lock\n\n# Hide files auto-generated by react router\n.react-router/\n\n"
  },
  {
    "path": "sample-apps/payment-customizations/.graphqlrc.js",
    "content": "import fs from \"fs\";\nimport { LATEST_API_VERSION } from \"@shopify/shopify-api\";\nimport { shopifyApiProject, ApiType } from \"@shopify/api-codegen-preset\";\n\nfunction getConfig() {\n  const config = {\n    projects: {\n      default: shopifyApiProject({\n        apiType: ApiType.Admin,\n        apiVersion: LATEST_API_VERSION,\n        documents: [\"./app/**/*.{js,jsx}\", \"./app/.server/**/*.{js,jsx}\"],\n        outputDir: \"./app/types\",\n      }),\n    },\n  };\n\n  let extensions = [];\n  try {\n    extensions = fs.readdirSync(\"./extensions\");\n  } catch {\n    // ignore if no extensions\n  }\n\n  for (const entry of extensions) {\n    const extensionPath = `./extensions/${entry}`;\n    const schema = `${extensionPath}/schema.graphql`;\n    if (!fs.existsSync(schema)) {\n      continue;\n    }\n    config.projects[entry] = {\n      schema,\n      documents: [`${extensionPath}/**/*.graphql`],\n    };\n  }\n\n  return config;\n}\n\nconst config = getConfig();\n\nexport default config; "
  },
  {
    "path": "sample-apps/payment-customizations/.npmrc",
    "content": "engine-strict=true\nauto-install-peers=true\nshamefully-hoist=true\nenable-pre-post-scripts=true\n"
  },
  {
    "path": "sample-apps/payment-customizations/.prettierignore",
    "content": "package.json\n.shadowenv.d\n.vscode\nnode_modules\nprisma\npublic\n.shopify\n"
  },
  {
    "path": "sample-apps/payment-customizations/Dockerfile",
    "content": "FROM node:18-alpine\nRUN apk add --no-cache openssl\n\nEXPOSE 3000\n\nWORKDIR /app\n\nENV NODE_ENV=production\n\nCOPY package.json package-lock.json* ./\n\nRUN npm ci --omit=dev && npm cache clean --force\n# Remove CLI packages since we don't need them in production by default.\n# Remove this line if you want to run CLI commands in your container.\nRUN npm remove @shopify/cli\n\nCOPY . .\n\nRUN npm run build\n\nCMD [\"npm\", \"run\", \"docker-start\"]\n"
  },
  {
    "path": "sample-apps/payment-customizations/README.md",
    "content": "# Shopify App Template - React Router\n\nThis is a template for building a [Shopify app](https://shopify.dev/docs/apps/getting-started) using [React Router](https://reactrouter.com/).  It was forked from the [Shopify Remix app template](https://github.com/Shopify/shopify-app-template-remix) and converted to React Router.\n\nRather than cloning this repo, you can use your preferred package manager and the Shopify CLI with [these steps](https://shopify.dev/docs/apps/getting-started/create).\n\nVisit the [`shopify.dev` documentation](https://shopify.dev/docs/api/shopify-app-react-router) for more details on the React Router app package.\n\n## Quick start\n\n### Prerequisites\n\nBefore you begin, you'll need the following:\n\n1. **Node.js**: [Download and install](https://nodejs.org/en/download/) it if you haven't already.\n2. **Shopify Partner Account**: [Create an account](https://partners.shopify.com/signup) if you don't have one.\n3. **Test Store**: Set up either a [development store](https://help.shopify.com/en/partners/dashboard/development-stores#create-a-development-store) or a [Shopify Plus sandbox store](https://help.shopify.com/en/partners/dashboard/managing-stores/plus-sandbox-store) for testing your app.\n4. **Shopify CLI**: [Download and install](https://shopify.dev/docs/apps/tools/cli/getting-started) it if you haven't already.\n```shell\nnpm install -g @shopify/cli@latest\n```\n\n### Setup\n\n```shell\nshopify app init --template=https://github.com/Shopify/shopify-app-template-react-router\n```\n\n### Local Development\n\n```shell\nshopify app dev\n```\n\nPress P to open the URL to your app. Once you click install, you can start development.\n\nLocal development is powered by [the Shopify CLI](https://shopify.dev/docs/apps/tools/cli). It logs into your partners account, connects to an app, provides environment variables, updates remote config, creates a tunnel and provides commands to generate extensions.\n\n### Authenticating and querying data\n\nTo authenticate and query data you can use the `shopify` const that is exported from `/app/shopify.server.js`:\n\n```js\nexport async function loader({ request }) {\n  const { admin } = await shopify.authenticate.admin(request);\n\n  const response = await admin.graphql(`\n    {\n      products(first: 25) {\n        nodes {\n          title\n          description\n        }\n      }\n    }`);\n\n  const {\n    data: {\n      products: { nodes },\n    },\n  } = await response.json();\n\n  return nodes;\n}\n```\n\nThis template comes pre-configured with examples of:\n\n1. Setting up your Shopify app in [/app/shopify.server.ts](https://github.com/Shopify/shopify-app-template-react-router/blob/main/app/shopify.server.ts)\n2. Querying data using Graphql. Please see: [/app/routes/app.\\_index.tsx](https://github.com/Shopify/shopify-app-template-react-router/blob/main/app/routes/app._index.tsx).\n3. Responding to webhooks. Please see [/app/routes/webhooks.tsx](https://github.com/Shopify/shopify-app-template-react-router/blob/main/app/routes/webhooks.app.uninstalled.tsx).\n\nPlease read the [documentation for @shopify/shopify-app-react-router](https://shopify.dev/docs/api/shopify-app-react-router) to see what other API's are available.\n\n## Deployment\n\n### Application Storage\n\nThis template uses [Prisma](https://www.prisma.io/) to store session data, by default using an [SQLite](https://www.sqlite.org/index.html) database.\nThe database is defined as a Prisma schema in `prisma/schema.prisma`.\n\nThis use of SQLite works in production if your app runs as a single instance.\nThe database that works best for you depends on the data your app needs and how it is queried.\nHere’s a short list of databases providers that provide a free tier to get started:\n\n| Database   | Type             | Hosters                                                                                                                                                                                                                               |\n| ---------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| MySQL      | SQL              | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-mysql), [Planet Scale](https://planetscale.com/), [Amazon Aurora](https://aws.amazon.com/rds/aurora/), [Google Cloud SQL](https://cloud.google.com/sql/docs/mysql) |\n| PostgreSQL | SQL              | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-postgresql), [Amazon Aurora](https://aws.amazon.com/rds/aurora/), [Google Cloud SQL](https://cloud.google.com/sql/docs/postgres)                                   |\n| Redis      | Key-value        | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-redis), [Amazon MemoryDB](https://aws.amazon.com/memorydb/)                                                                                                        |\n| MongoDB    | NoSQL / Document | [Digital Ocean](https://www.digitalocean.com/products/managed-databases-mongodb), [MongoDB Atlas](https://www.mongodb.com/atlas/database)                                                                                                  |\n\nTo use one of these, you can use a different [datasource provider](https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#datasource) in your `schema.prisma` file, or a different [SessionStorage adapter package](https://github.com/Shopify/shopify-api-js/blob/main/packages/shopify-api/docs/guides/session-storage.md).\n\n### Build\n\nBuild the app by running the command below with the package manager of your choice:\n\nUsing yarn:\n\n```shell\nyarn build\n```\n\nUsing npm:\n\n```shell\nnpm run build\n```\n\nUsing pnpm:\n\n```shell\npnpm run build\n```\n\n## Hosting\n\nWhen you're ready to set up your app in production, you can follow [our deployment documentation](https://shopify.dev/docs/apps/deployment/web) to host your app on a cloud provider like [Heroku](https://www.heroku.com/) or [Fly.io](https://fly.io/).\n\nWhen you reach the step for [setting up environment variables](https://shopify.dev/docs/apps/deployment/web#set-env-vars), you also need to set the variable `NODE_ENV=production`.\n\n\n## Gotchas / Troubleshooting\n\n### Database tables don't exist\n\nIf you get an error like:\n\n```\nThe table `main.Session` does not exist in the current database.\n```\n\nCreate the database for Prisma. Run the `setup` script in `package.json` using `npm`, `yarn` or `pnpm`.\n\n### Navigating/redirecting breaks an embedded app\n\nEmbedded apps must maintain the user session, which can be tricky inside an iFrame. To avoid issues:\n\n1. Use `Link` from `react-router` or `@shopify/polaris`. Do not use `<a>`.\n2. Use `redirect` returned from `authenticate.admin`. Do not use `redirect` from `react-router`\n3. Use `useSubmit` from `react-router`.\n\nThis only applies if your app is embedded, which it will be by default.\n\n### App goes into a loop when I change my app's scopes\n\nIf you change your app's scopes and authentication goes into a loop before failing after trying too many times, you might have forgotten to update your scopes with Shopify. Update your scopes.\n\nUsing yarn:\n\n```shell\nyarn deploy\n```\n\nUsing npm:\n\n```shell\nnpm run deploy\n```\n\nUsing pnpm:\n\n```shell\npnpm run deploy\n```\n\n### Webhooks: shop-specific webhook subscriptions aren't updated\n\nIf you are registering webhooks in the `afterAuth` hook, using `shopify.registerWebhooks`, you may find that your subscriptions aren't being updated.  \n\nInstead of using the `afterAuth` hook declare app-specific webhooks in the `shopify.app.toml` file.  This approach is easier since Shopify will automatically sync changes every time you run `deploy` (e.g: `npm run deploy`).  Please read these guides to understand more:\n\n1. [app-specific vs shop-specific webhooks](https://shopify.dev/docs/apps/build/webhooks/subscribe#app-specific-subscriptions)\n2. [Create a subscription tutorial](https://shopify.dev/docs/apps/build/webhooks/subscribe/get-started?framework=remix&deliveryMethod=https)\n\nIf you do need shop-specific webhooks, keep in mind that the package calls `afterAuth` in 2 scenarios:\n\n- After installing the app\n- When an access token expires\n\nDuring normal development, the app won't need to re-authenticate most of the time, so shop-specific subscriptions aren't updated. To force your app to update the subscriptions, uninstall and reinstall the app. Revisiting the app will call the `afterAuth` hook.\n\n### Webhooks: Admin created webhook failing HMAC validation\n\nWebhooks subscriptions created in the [Shopify admin](https://help.shopify.com/en/manual/orders/notifications/webhooks) will fail HMAC validation. This is because the webhook payload is not signed with your app's secret key.  \n\nThe recommended solution is to use [app-specific webhooks](https://shopify.dev/docs/apps/build/webhooks/subscribe#app-specific-subscriptions) defined in your toml file instead.  Test your webhooks by triggering events manually in the Shopify admin(e.g. Updating the product title to trigger a `PRODUCTS_UPDATE`).\n\n### Webhooks: Admin object undefined on webhook events triggered by the CLI\n\nWhen you trigger a webhook event using the Shopify CLI, the `admin` object will be `undefined`. This is because the CLI triggers an event with a valid, but non-existent, shop. The `admin` object is only available when the webhook is triggered by a shop that has installed the app.  This is expected.\n\nWebhooks triggered by the CLI are intended for initial experimentation testing of your webhook configuration. For more information on how to test your webhooks, see the [Shopify CLI documentation](https://shopify.dev/docs/apps/tools/cli/commands#webhook-trigger).\n\n### Incorrect GraphQL Hints\n\nBy default the [graphql.vscode-graphql](https://marketplace.visualstudio.com/items?itemName=GraphQL.vscode-graphql) extension for will assume that GraphQL queries or mutations are for the [Shopify Admin API](https://shopify.dev/docs/api/admin). This is a sensible default, but it may not be true if:\n\n1. You use another Shopify API such as the storefront API.\n2. You use a third party GraphQL API.\n\nIf so, please update [.graphqlrc.ts](https://github.com/Shopify/shopify-app-template-react-router/blob/main/.graphqlrc.ts).\n\n### Using Defer & await for streaming responses\n\nBy default the CLI uses a cloudflare tunnel. Unfortunately  cloudflare tunnels wait for the Response stream to finish, then sends one chunk.  This will not affect production.\n\nTo test [streaming using await](https://reactrouter.com/api/components/Await#await) during local development we recommend [localhost based development](https://shopify.dev/docs/apps/build/cli-for-apps/networking-options#localhost-based-development).\n\n### Using MongoDB and Prisma\n\nBy default this template uses SQLlite as the database. It is recommended to move to a persisted database for production. If you choose to use MongoDB, you will need to make some modifications to the schema and prisma configuration. For more information please see the [Prisma MongoDB documentation](https://www.prisma.io/docs/orm/overview/databases/mongodb).\n\nAlternatively you can use a MongDB database directly with the [MongoDB session storage adapter](https://github.com/Shopify/shopify-app-js/tree/main/packages/apps/session-storage/shopify-app-session-storage-mongodb).\n\n#### Mapping the id field\n\nIn MongoDB, an ID must be a single field that defines an `@id` attribute and a `@map(\"\\_id\")` attribute.\nThe prisma adapter expects the ID field to be the ID of the session, and not the \\_id field of the document.\n\nTo make this work add a new field to the schema that maps the \\_id field to the id field. For more information see the [Prisma documentation](https://www.prisma.io/docs/orm/prisma-schema/data-model/models#defining-an-id-field)\n\n```prisma\nmodel Session {\n  session_id  String    @id @default(auto()) @map(\"_id\") @db.ObjectId\n  id          String    @unique\n...\n}\n```\n\n#### Error: The \"mongodb\" provider is not supported with this command\n\nMongoDB does not support the [prisma migrate](https://www.prisma.io/docs/orm/prisma-migrate/understanding-prisma-migrate/overview) command. Instead, you can use the [prisma db push](https://www.prisma.io/docs/orm/reference/prisma-cli-reference#db-push) command and update the `shopify.web.toml` file with the following commands. If you are using MongoDB please see the [Prisma documentation](https://www.prisma.io/docs/orm/overview/databases/mongodb) for more information.\n\n```toml\n[commands]\npredev = \"npx prisma generate && npx prisma db push\"\ndev = \"npx prisma migrate deploy && npm exec react-router dev\"\n```\n\n#### Prisma needs to perform transactions, which requires your mongodb server to be run as a replica set\n\nSee the [Prisma documentation](https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch/mongodb/connect-your-database-node-mongodb) for connecting to a MongoDB database.\n\n### \"nbf\" claim timestamp check failed\n\nThis is because a JWT token is expired.  If you  are consistently getting this error, it could be that the clock on your machine is not in sync with the server.  To fix this ensure you have enabled \"Set time and date automatically\" in the \"Date and Time\" settings on your computer.\n\n\n## Resources\n\nReact Router:\n\n- [React Router docs](https://reactrouter.com/home)\n\nShopify:\n\n- [Intro to Shopify apps](https://shopify.dev/docs/apps/getting-started)\n- [Shopify App React Router docs](https://shopify.dev/docs/api/shopify-app-react-router)\n- [Shopify CLI](https://shopify.dev/docs/apps/tools/cli)\n- [Shopify App Bridge](https://shopify.dev/docs/api/app-bridge-library).\n- [Polaris Web Components](https://shopify.dev/docs/api/app-home/polaris-web-components).\n- [App extensions](https://shopify.dev/docs/apps/app-extensions/list)\n- [Shopify Functions](https://shopify.dev/docs/api/functions)\n\nInternationalization:\n\n- [Internationalizing your app](https://shopify.dev/docs/apps/best-practices/internationalization/getting-started)\n"
  },
  {
    "path": "sample-apps/payment-customizations/app/db.server.js",
    "content": "import { PrismaClient } from \"@prisma/client\";\n\nif (process.env.NODE_ENV !== \"production\") {\n  if (!global.prismaGlobal) {\n    global.prismaGlobal = new PrismaClient();\n  }\n}\n\nconst prisma = global.prismaGlobal ?? new PrismaClient();\n\nexport default prisma; "
  },
  {
    "path": "sample-apps/payment-customizations/app/entry.server.jsx",
    "content": "import { PassThrough } from \"stream\";\nimport { renderToPipeableStream } from \"react-dom/server\";\nimport { ServerRouter } from \"react-router\";\nimport { createReadableStreamFromReadable } from \"@react-router/node\";\nimport { isbot } from \"isbot\";\nimport { addDocumentResponseHeaders } from \"./shopify.server.js\";\n\nexport const streamTimeout = 5000;\n\nexport default async function handleRequest(\n  request,\n  responseStatusCode,\n  responseHeaders,\n  reactRouterContext\n) {\n  addDocumentResponseHeaders(request, responseHeaders);\n  const userAgent = request.headers.get(\"user-agent\");\n  const callbackName = isbot(userAgent ?? '')\n    ? \"onAllReady\"\n    : \"onShellReady\";\n\n  return new Promise((resolve, reject) => {\n    const { pipe, abort } = renderToPipeableStream(\n      <ServerRouter\n        context={reactRouterContext}\n        url={request.url}\n      />,\n      {\n        [callbackName]: () => {\n          const body = new PassThrough();\n          const stream = createReadableStreamFromReadable(body);\n\n          responseHeaders.set(\"Content-Type\", \"text/html\");\n          resolve(\n            new Response(stream, {\n              headers: responseHeaders,\n              status: responseStatusCode,\n            })\n          );\n          pipe(body);\n        },\n        onShellError(error) {\n          reject(error);\n        },\n        onError(error) {\n          responseStatusCode = 500;\n          console.error(error);\n        },\n      }\n    );\n\n    // Automatically timeout the React renderer after 6 seconds, which ensures\n    // React has enough time to flush down the rejected boundary contents\n    setTimeout(abort, streamTimeout + 1000);\n  });\n} "
  },
  {
    "path": "sample-apps/payment-customizations/app/root.jsx",
    "content": "import { Links, Meta, Outlet, Scripts, ScrollRestoration } from \"react-router\";\n\nexport default function App() {\n  return (\n    <html lang=\"en\">\n      <head>\n        <meta charSet=\"utf-8\" />\n        <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n        <link rel=\"preconnect\" href=\"https://cdn.shopify.com/\" />\n        <link\n          rel=\"stylesheet\"\n          href=\"https://cdn.shopify.com/static/fonts/inter/v4/styles.css\"\n        />\n        <Meta />\n        <Links />\n      </head>\n      <body>\n        <Outlet />\n        <ScrollRestoration />\n        <Scripts />\n      </body>\n    </html>\n  );\n} "
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/_index/route.jsx",
    "content": "import { redirect } from \"react-router\";\nimport { Form, useLoaderData } from \"react-router\";\n\nimport { login } from \"../../shopify.server.js\";\n\nimport styles from \"./styles.module.css\";\n\nexport const loader = async ({ request }) => {\n  const url = new URL(request.url);\n\n  if (url.searchParams.get(\"shop\")) {\n    throw redirect(`/app?${url.searchParams.toString()}`);\n  }\n\n  return { showForm: Boolean(login) };\n};\n\nexport default function App() {\n  const { showForm } = useLoaderData();\n\n  return (\n    <div className={styles.index}>\n      <div className={styles.content}>\n        <h1 className={styles.heading}>A short heading about [your app]</h1>\n        <p className={styles.text}>\n          A tagline about [your app] that describes your value proposition.\n        </p>\n        {showForm && (\n          <Form className={styles.form} method=\"post\" action=\"/auth/login\">\n            <label className={styles.label}>\n              <span>Shop domain</span>\n              <input className={styles.input} type=\"text\" name=\"shop\" />\n              <span>e.g: my-shop-domain.myshopify.com</span>\n            </label>\n            <button className={styles.button} type=\"submit\">\n              Log in\n            </button>\n          </Form>\n        )}\n        <ul className={styles.list}>\n          <li>\n            <strong>Product feature</strong>. Some detail about your feature and\n            its benefit to your customer.\n          </li>\n          <li>\n            <strong>Product feature</strong>. Some detail about your feature and\n            its benefit to your customer.\n          </li>\n          <li>\n            <strong>Product feature</strong>. Some detail about your feature and\n            its benefit to your customer.\n          </li>\n        </ul>\n      </div>\n    </div>\n  );\n} "
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/_index/styles.module.css",
    "content": ".index {\n  align-items: center;\n  display: flex;\n  justify-content: center;\n  height: 100%;\n  width: 100%;\n  text-align: center;\n  padding: 1rem;\n}\n\n.heading,\n.text {\n  padding: 0;\n  margin: 0;\n}\n\n.text {\n  font-size: 1.2rem;\n  padding-bottom: 2rem;\n}\n\n.content {\n  display: grid;\n  gap: 2rem;\n}\n\n.form {\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  margin: 0 auto;\n  gap: 1rem;\n}\n\n.label {\n  display: grid;\n  gap: 0.2rem;\n  max-width: 20rem;\n  text-align: left;\n  font-size: 1rem;\n}\n\n.input {\n  padding: 0.4rem;\n}\n\n.button {\n  padding: 0.4rem;\n}\n\n.list {\n  list-style: none;\n  padding: 0;\n  padding-top: 3rem;\n  margin: 0;\n  display: flex;\n  gap: 2rem;\n}\n\n.list > li {\n  max-width: 20rem;\n  text-align: left;\n}\n\n@media only screen and (max-width: 50rem) {\n  .list {\n    display: block;\n  }\n\n  .list > li {\n    padding-bottom: 1rem;\n  }\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/app._index.jsx",
    "content": "import { useEffect } from \"react\";\nimport { useFetcher } from \"react-router\";\nimport { TitleBar, useAppBridge } from \"@shopify/app-bridge-react\";\nimport { authenticate } from \"../shopify.server.js\";\nimport { boundary } from \"@shopify/shopify-app-react-router/server\";\n\nexport const loader = async ({ request }) => {\n  await authenticate.admin(request);\n\n  return null;\n};\n\nexport const action = async ({ request }) => {\n  const { admin } = await authenticate.admin(request);\n  const color = [\"Red\", \"Orange\", \"Yellow\", \"Green\"][\n    Math.floor(Math.random() * 4)\n  ];\n  const response = await admin.graphql(\n    `#graphql\n      mutation populateProduct($product: ProductCreateInput!) {\n        productCreate(product: $product) {\n          product {\n            id\n            title\n            handle\n            status\n            variants(first: 10) {\n              edges {\n                node {\n                  id\n                  price\n                  barcode\n                  createdAt\n                }\n              }\n            }\n          }\n        }\n      }`,\n    {\n      variables: {\n        product: {\n          title: `${color} Snowboard`,\n        },\n      },\n    },\n  );\n  const responseJson = await response.json();\n\n  const product = responseJson.data.productCreate.product;\n  const variantId = product.variants.edges[0].node.id;\n\n  const variantResponse = await admin.graphql(\n    `#graphql\n    mutation shopifyReactRouterTemplateUpdateVariant($productId: ID!, $variants: [ProductVariantsBulkInput!]!) {\n      productVariantsBulkUpdate(productId: $productId, variants: $variants) {\n        productVariants {\n          id\n          price\n          barcode\n          createdAt\n        }\n      }\n    }`,\n    {\n      variables: {\n        productId: product.id,\n        variants: [{ id: variantId, price: \"100.00\" }],\n      },\n    },\n  );\n\n  const variantResponseJson = await variantResponse.json();\n\n  return {\n    product: responseJson.data.productCreate.product,\n    variant:\n      variantResponseJson.data.productVariantsBulkUpdate.productVariants,\n  };\n};\n\nexport default function Index() {\n  const fetcher = useFetcher();\n\n  const shopify = useAppBridge();\n  const isLoading =\n    [\"loading\", \"submitting\"].includes(fetcher.state) &&\n    fetcher.formMethod === \"POST\";\n  const productId = fetcher.data?.product?.id.replace(\n    \"gid://shopify/Product/\",\n    \"\",\n  );\n\n  useEffect(() => {\n    if (productId) {\n      shopify.toast.show(\"Product created\");\n    }\n  }, [productId, shopify]);\n  const generateProduct = () => fetcher.submit({}, { method: \"POST\" });\n\n  return (\n    <s-page heading=\"React Router app template\">\n      <s-button variant=\"primary\" onClick={generateProduct} slot=\"primary-action\">Generate a product</s-button>\n      <s-section heading=\"Congrats on creating a new Shopify app 🎉\">\n        <s-paragraph>\n          This embedded app template uses{\" \"}\n          <s-link\n            href=\"https://shopify.dev/docs/apps/tools/app-bridge\"\n            target=\"_blank\"\n          >\n            App Bridge\n          </s-link>{\" \"}\n          interface examples like an{\" \"}\n          <s-link href=\"/app/additional\">additional page in the app nav</s-link>\n          , as well as an{\" \"}\n          <s-link\n            href=\"https://shopify.dev/docs/api/admin-graphql\"\n            target=\"_blank\"\n          >\n            Admin GraphQL\n          </s-link>{\" \"}\n          mutation demo, to provide a starting point for app development.\n        </s-paragraph>\n      </s-section>\n      <s-section heading=\"Get started with products\">\n        <s-paragraph>\n          Generate a product with GraphQL and get the JSON output for that\n          product. Learn more about the{\" \"}\n          <s-link\n            href=\"https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate\"\n            target=\"_blank\"\n          >\n            productCreate\n          </s-link>{\" \"}\n          mutation in our API references.\n        </s-paragraph>\n        <s-stack direction=\"inline\" gap=\"base\">\n          <s-button\n            onClick={generateProduct}\n            {...(isLoading ? { loading: \"true\" } : {})}\n          >\n            Generate a product\n          </s-button>\n          {fetcher.data?.product && (\n            <s-button\n              href={`shopify:admin/products/${productId}`}\n              target=\"_blank\"\n              variant=\"tertiary\"\n            >\n              View product\n            </s-button>\n          )}\n        </s-stack>\n        {fetcher.data?.product && (\n          <s-section heading=\"productCreate mutation\">\n            <s-stack direction=\"column\" gap=\"base\">\n              <s-box\n                padding=\"base\"\n                borderWidth=\"base\"\n                borderRadius=\"base\"\n                borderColor=\"auto\"\n                background=\"subdued\"\n              >\n                <pre style={{ margin: 0 }}>\n                  <code>{JSON.stringify(fetcher.data.product, null, 2)}</code>\n                </pre>\n              </s-box>\n\n              <s-heading>productVariantsBulkUpdate mutation</s-heading>\n              <s-box\n                padding=\"base\"\n                borderWidth=\"base\"\n                borderRadius=\"base\"\n                borderColor=\"auto\"\n                background=\"subdued\"\n              >\n                <pre style={{ margin: 0 }}>\n                  <code>{JSON.stringify(fetcher.data.variant, null, 2)}</code>\n                </pre>\n              </s-box>\n            </s-stack>\n          </s-section>\n        )}\n      </s-section>\n\n      <s-section slot=\"aside\" heading=\"App template specs\">\n        <s-paragraph>\n          <s-text>Framework: </s-text>\n          <s-link href=\"https://reactrouter.com/start/framework/installation\" target=\"_blank\">\n            React Router\n          </s-link>\n        </s-paragraph>\n        <s-paragraph>\n          <s-text>Database: </s-text>\n          <s-link href=\"https://www.prisma.io/\" target=\"_blank\">\n            Prisma\n          </s-link>\n        </s-paragraph>\n        <s-paragraph>\n          <s-text>Interface: </s-text>\n          <s-link href=\"https://shopify.dev/docs/api/app-home/polaris-web-components\" target=\"_blank\">\n            Polaris\n          </s-link>\n        </s-paragraph>\n        <s-paragraph>\n          <s-text>API: </s-text>\n          <s-link\n            href=\"https://shopify.dev/docs/api/admin-graphql\"\n            target=\"_blank\"\n          >\n            GraphQL\n          </s-link>\n        </s-paragraph>\n      </s-section>\n\n      <s-section slot=\"aside\" heading=\"Next steps\">\n        <s-unordered-list>\n          <s-list-item>\n            Build an{\" \"}\n            <s-link\n              href=\"https://shopify.dev/docs/apps/getting-started/build-app-example\"\n              target=\"_blank\"\n            >\n              example app\n            </s-link>\n          </s-list-item>\n          <s-list-item>\n            Explore Shopify's API with{\" \"}\n            <s-link\n              href=\"https://shopify.dev/docs/apps/tools/graphiql-admin-api\"\n              target=\"_blank\"\n            >\n              GraphiQL\n            </s-link>\n          </s-list-item>\n        </s-unordered-list>\n      </s-section>\n    </s-page>\n  );\n}\n\nexport const headers = (headersArgs) => {\n  return boundary.headers(headersArgs);\n};\n"
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/app.additional.jsx",
    "content": "import { TitleBar } from \"@shopify/app-bridge-react\";\n\nexport default function AdditionalPage() {\n  return (\n    <s-page heading=\"Additional page\">\n      <s-section heading=\"Multiple pages\">\n        <s-paragraph>\n          The app template comes with an additional page which demonstrates how\n          to create multiple pages within app navigation using{\" \"}\n          <s-link\n            href=\"https:shopify.dev/docs/apps/tools/app-bridge\"\n            target=\"_blank\"\n          >\n            App Bridge\n          </s-link>\n          .\n        </s-paragraph>\n        <s-paragraph>\n          To create your own page and have it show up in the app navigation, add\n          a page inside <code>app/routes</code>, and a link to it in the{\" \"}\n          <code>&lt;s-app-nav&gt;</code> component found in{\" \"}\n          <code>app/routes/app.jsx</code>.\n        </s-paragraph>\n      </s-section>\n      <s-section slot=\"aside\" heading=\"Resources\">\n        <s-unordered-list>\n          <s-list-item>\n            <s-link\n              href=\"https://shopify.dev/docs/apps/design-guidelines/navigation#app-nav\"\n              target=\"_blank\"\n            >\n              App nav best practices\n            </s-link>\n          </s-list-item>\n        </s-unordered-list>\n      </s-section>\n    </s-page>\n  );\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/app.jsx",
    "content": "import { Link, Outlet, useLoaderData, useRouteError } from \"react-router\";\nimport { boundary } from \"@shopify/shopify-app-react-router/server\";\nimport { NavMenu } from \"@shopify/app-bridge-react\";\nimport { AppProvider } from \"@shopify/shopify-app-react-router/react\";\n\nimport { authenticate } from \"../shopify.server.js\";\n\nexport const loader = async ({ request }) => {\n  await authenticate.admin(request);\n\n  return { apiKey: process.env.SHOPIFY_API_KEY || \"\" };\n};\n\nexport default function App() {\n  const { apiKey } = useLoaderData();\n\n  return (\n    <AppProvider embedded apiKey={apiKey}>\n      <s-app-nav>\n        <s-link href=\"/app\" rel=\"home\">Home</s-link>\n        <s-link href=\"/app/additional\">Additional page</s-link>\n      </s-app-nav>\n      <Outlet />\n    </AppProvider>\n  );\n}\n\n// Shopify needs React Router to catch some thrown responses, so that their headers are included in the response.\nexport function ErrorBoundary() {\n  return boundary.error(useRouteError());\n}\n\nexport const headers = (headersArgs) => {\n  return boundary.headers(headersArgs);\n};\n"
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/app.payment-customization.$functionId.$id.jsx",
    "content": "import { useState, useEffect } from \"react\";\nimport { useActionData, useNavigation, useSubmit, useLoaderData } from \"react-router\";\nimport { boundary } from \"@shopify/shopify-app-react-router/server\";\n\nimport { authenticate } from \"../shopify.server\";\n\n// This is a server-side function that provides data to the component when rendering.\nexport const loader = async ({ params, request }) => {\n  const { id } = params;\n\n  // If the ID is `new`, then we are creating a new customization and there's no data to load.\n  if (id === \"new\") {\n    return {\n      paymentMethodName: \"\",\n      cartTotal: \"0\",\n    };\n  }\n\n  const { admin } = await authenticate.admin(request);\n  const response = await admin.graphql(\n    `#graphql\n      query getPaymentCustomization($id: ID!) {\n        paymentCustomization(id: $id) {\n          id\n          metafield(namespace: \"$app:payment-customization\", key: \"function-configuration\") {\n            value\n          }\n        }\n      }`,\n    {\n      variables: {\n        id: `gid://shopify/PaymentCustomization/${id}`,\n      },\n    }\n  );\n\n  const responseJson = await response.json();\n  const metafield =\n    responseJson.data.paymentCustomization?.metafield?.value &&\n    JSON.parse(responseJson.data.paymentCustomization.metafield.value);\n\n  return {\n    paymentMethodName: metafield?.paymentMethodName ?? \"\",\n    cartTotal: metafield?.cartTotal ?? \"0\",\n  };\n};\n\n// This is a server-side action that is invoked when the form is submitted.\n// It makes an admin GraphQL request to create a payment customization.\nexport const action = async ({ params, request }) => {\n  const { functionId, id } = params;\n  const { admin } = await authenticate.admin(request);\n  const formData = await request.formData();\n\n  const paymentMethodName = formData.get(\"paymentMethodName\");\n  const cartTotal = parseFloat(formData.get(\"cartTotal\"));\n\n  const paymentCustomizationInput = {\n    functionId,\n    title: `Hide ${paymentMethodName} if cart total is larger than ${cartTotal}`,\n    enabled: true,\n    metafields: [\n      {\n        namespace: \"$app:payment-customization\",\n        key: \"function-configuration\",\n        type: \"json\",\n        value: JSON.stringify({\n          paymentMethodName,\n          cartTotal,\n        }),\n      },\n    ],\n  };\n\n  // If the ID is `new`, then we're creating a new customization. Otherwise, we will use the update mutation.\n  if (id === \"new\") {\n    const response = await admin.graphql(\n      `#graphql\n        mutation createPaymentCustomization($input: PaymentCustomizationInput!) {\n          paymentCustomizationCreate(paymentCustomization: $input) {\n            paymentCustomization {\n              id\n            }\n            userErrors {\n              message\n            }\n          }\n        }`,\n      {\n        variables: {\n          input: paymentCustomizationInput,\n        },\n      }\n    );\n\n    const responseJson = await response.json();\n    const errors = responseJson.data.paymentCustomizationCreate?.userErrors;\n\n    return { errors };\n  } else {\n    const response = await admin.graphql(\n      `#graphql\n        mutation updatePaymentCustomization($id: ID!, $input: PaymentCustomizationInput!) {\n          paymentCustomizationUpdate(id: $id, paymentCustomization: $input) {\n            paymentCustomization {\n              id\n            }\n            userErrors {\n              message\n            }\n          }\n        }`,\n      {\n        variables: {\n          id: `gid://shopify/PaymentCustomization/${id}`,\n          input: paymentCustomizationInput,\n        },\n      }\n    );\n\n    const responseJson = await response.json();\n    const errors = responseJson.data.paymentCustomizationUpdate?.userErrors;\n\n    return { errors };\n  }\n};\n\n// Required for single fetch compatibility\nexport const headers = (headersArgs) => {\n  return boundary.headers(headersArgs);\n};\n\n// This is the client-side component that renders the form.\nexport default function PaymentCustomization() {\n  const submit = useSubmit();\n  const actionData = useActionData();\n  const navigation = useNavigation();\n  const loaderData = useLoaderData();\n  const [paymentMethodName, setPaymentMethodName] = useState(\n    loaderData.paymentMethodName\n  );\n  const [cartTotal, setCartTotal] = useState(loaderData.cartTotal);\n\n  const isLoading = navigation.state === \"submitting\";\n\n  const errorBanner = actionData?.errors.length ? (\n    <s-banner tone=\"critical\" heading=\"There was an error creating the customization.\">\n      <ul>\n        {actionData?.errors.map((error, index) => {\n          return <li key={`${index}`}>{error.message}</li>;\n        })}\n      </ul>\n    </s-banner>\n  ) : null;\n\n  const handleSubmit = (event) => {\n    event.preventDefault();\n    submit({ paymentMethodName, cartTotal }, { method: \"post\" });\n  };\n\n  const handleReset = () => {\n    setPaymentMethodName(loaderData.paymentMethodName);\n    setCartTotal(loaderData.cartTotal);\n  };\n\n  useEffect(() => {\n    if (actionData?.errors.length === 0) {\n      open(\"shopify:admin/settings/payments/customizations\", \"_top\");\n    }\n  }, [actionData?.errors]);\n\n  return (\n    <form data-save-bar onSubmit={handleSubmit} onReset={handleReset}>\n      <s-page heading=\"Hide payment method\">\n        <s-link href=\"shopify:admin/settings/payments/customizations\" variant=\"breadcrumb\" slot=\"breadcrumb-actions\">Payment customizations</s-link>\n\n        {errorBanner}\n\n        <s-section>\n          <s-grid gap=\"base\" gridTemplateColumns=\"1fr 1fr\">\n            <s-text-field\n              name=\"paymentMethodName\"\n              label=\"Payment method\"\n              value={paymentMethodName}\n              onInput={(e) => setPaymentMethodName(e.target.value)}\n              disabled={isLoading}\n              autoComplete=\"on\"\n              required\n            ></s-text-field>\n\n            <s-number-field\n              name=\"cartTotal\"\n              label=\"Cart total\"\n              value={cartTotal}\n              onInput={(e) => setCartTotal(e.target.value)}\n              disabled={isLoading}\n              min=\"0\"\n              step=\"0.01\"\n              required\n            ></s-number-field>\n          </s-grid>\n        </s-section>\n      </s-page>\n    </form>\n  );\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/auth.$.jsx",
    "content": "import { authenticate } from \"../shopify.server.js\";\nimport { boundary } from \"@shopify/shopify-app-react-router/server\";\n\nexport const loader = async ({ request }) => {\n  await authenticate.admin(request);\n\n  return null;\n};\n\nexport const headers = (headersArgs) => {\n  return boundary.headers(headersArgs);\n}; "
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/auth.login/error.server.js",
    "content": "import { LoginErrorType } from \"@shopify/shopify-app-react-router/server\";\n\nexport function loginErrorMessage(loginErrors) {\n  if (loginErrors?.shop === LoginErrorType.MissingShop) {\n    return { shop: \"Please enter your shop domain to log in\" };\n  } else if (loginErrors?.shop === LoginErrorType.InvalidShop) {\n    return { shop: \"Please enter a valid shop domain to log in\" };\n  }\n\n  return {};\n} "
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/auth.login/route.jsx",
    "content": "import { useState } from \"react\";\nimport { Form, useActionData, useLoaderData } from \"react-router\";\nimport { AppProvider } from \"@shopify/shopify-app-react-router/react\";\n\nimport { login } from \"../../shopify.server.js\";\nimport { loginErrorMessage } from \"./error.server.js\";\n\nexport const loader = async ({ request }) => {\n  const errors = loginErrorMessage(await login(request));\n\n  return { errors };\n};\n\nexport const action = async ({ request }) => {\n  const errors = loginErrorMessage(await login(request));\n\n  return {\n    errors,\n  };\n};\n\nexport default function Auth() {\n  const loaderData = useLoaderData();\n  const actionData = useActionData();\n  const [shop, setShop] = useState(\"\");\n  const { errors } = actionData || loaderData;\n\n  return (\n    <AppProvider embedded={false}>\n      <s-page>\n        <Form method=\"post\">\n          <s-section heading=\"Log in\">\n            <s-text-field\n              type=\"text\"\n              name=\"shop\"\n              label=\"Shop domain\"\n              helpText=\"example.myshopify.com\"\n              value={shop}\n              onChange={setShop}\n              autoComplete=\"on\"\n              error={errors.shop}\n            ></s-text-field>\n            <s-button submit>Log in</s-button>\n          </s-section>\n        </Form>\n      </s-page>\n    </AppProvider>\n  );\n} "
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/webhooks.app.scopes_update.jsx",
    "content": "import { authenticate } from \"../shopify.server.js\";\n\nexport const action = async ({ request }) => {\n  const { topic } = await authenticate.webhook(request);\n\n  if (topic === \"APP_SCOPES_UPDATE\") {\n    console.log(\"Received APP_SCOPES_UPDATE webhook. Update scopes.\");\n  }\n\n  return new Response();\n}; "
  },
  {
    "path": "sample-apps/payment-customizations/app/routes/webhooks.app.uninstalled.jsx",
    "content": "import { authenticate } from \"../shopify.server.js\";\nimport db from \"../db.server.js\";\n\nexport const action = async ({ request }) => {\n  const { shop, session, topic } = await authenticate.webhook(request);\n\n  console.log(`Received ${topic} webhook for ${shop}`);\n\n  // Webhook requests can trigger multiple times and after an app has already been uninstalled.\n  // If this webhook already ran, the session may have been deleted previously.\n  if (session) {\n    await db.session.deleteMany({ where: { shop } });\n  }\n\n  return new Response();\n}; "
  },
  {
    "path": "sample-apps/payment-customizations/app/routes.js",
    "content": "import { flatRoutes } from \"@react-router/fs-routes\";\n\nexport default flatRoutes(); "
  },
  {
    "path": "sample-apps/payment-customizations/app/shopify.server.js",
    "content": "import \"@shopify/shopify-app-react-router/adapters/node\";\nimport {\n  ApiVersion,\n  AppDistribution,\n  shopifyApp,\n} from \"@shopify/shopify-app-react-router/server\";\nimport { PrismaSessionStorage } from \"@shopify/shopify-app-session-storage-prisma\";\nimport prisma from \"./db.server.js\";\n\nconst shopify = shopifyApp({\n  apiKey: process.env.SHOPIFY_API_KEY,\n  apiSecretKey: process.env.SHOPIFY_API_SECRET || \"\",\n  apiVersion: ApiVersion.January25,\n  scopes: process.env.SCOPES?.split(\",\"),\n  appUrl: process.env.SHOPIFY_APP_URL || \"\",\n  authPathPrefix: \"/auth\",\n  sessionStorage: new PrismaSessionStorage(prisma),\n  distribution: AppDistribution.AppStore,\n  future: {\n    unstable_newEmbeddedAuthStrategy: true,\n    removeRest: true,\n  },\n  ...(process.env.SHOP_CUSTOM_DOMAIN\n    ? { customShopDomains: [process.env.SHOP_CUSTOM_DOMAIN] }\n    : {}),\n});\n\nexport default shopify;\nexport const apiVersion = ApiVersion.January25;\nexport const addDocumentResponseHeaders = shopify.addDocumentResponseHeaders;\nexport const authenticate = shopify.authenticate;\nexport const unauthenticated = shopify.unauthenticated;\nexport const login = shopify.login;\nexport const registerWebhooks = shopify.registerWebhooks;\nexport const sessionStorage = shopify.sessionStorage; "
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-js/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-js/locales/en.default.json",
    "content": "{\n  \"name\": \"payment-customization-js\",\n  \"description\": \"payment-customization-js\"\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-js/package.json",
    "content": "{\n  \"name\": \"payment-customization\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"0.1.0\",\n    \"javy\": \"0.1.1\"\n  }\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-js/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to\napply to payment methods in checkout. In API versions 2023-10 and beyond, this\ntype is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of payment methods.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to apply to payment methods in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of payment methods.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nA request to hide a payment method during checkout.\n\nWhen your Function returns this operation, it removes the specified payment method\nfrom the available options shown to customers during checkout.\n\nUse this operation when you want to conditionally hide payment methods based on\ncheckout attributes, customer data, or other business logic implemented in your Function.\n\"\"\"\ninput HideOperation {\n  \"\"\"\n  The identifier of the payment method to hide out.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe `Input` object is the complete GraphQL schema that your Function can query\nas an input to customize the payment methods that are available to customers\nduring checkout. Your Function receives only the fields that you request in the\ninput query. To optimize performance, we highly recommend that you request only\nthe fields that your function requires.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The configuration of the app that owns the Function. This configuration\n  controls how merchants can modify [payment methods](https://help.shopify.com/manual/checkout-settings/checkout-customization),\n  such as renaming, reordering, or hiding them.\n  \"\"\"\n  paymentCustomization: PaymentCustomization!\n\n  \"\"\"\n  The list of payment methods that are available to customers during checkout that your Function can customize.\n  \"\"\"\n  paymentMethods: [PaymentCustomizationPaymentMethod!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nA request to move a payment method to a new position in the checkout display order.\n\nWhen your Function returns this operation, it changes the display order of payment methods\nby placing the specified payment method at the requested index position.\n\nUse this operation when you want to prioritize certain payment methods based on\ncheckout context, customer preferences, or other business logic implemented in your Function.\n\"\"\"\ninput MoveOperation {\n  \"\"\"\n  The index to move the payment method to.\n  \"\"\"\n  index: Int!\n\n  \"\"\"\n  The identifier of the payment method to move.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.payment-customization.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the list of payment methods.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  A request to hide a payment method during checkout.\n\n  When your Function returns this operation, it removes the specified payment method\n  from the available options shown to customers during checkout.\n\n  Use this operation when you want to conditionally hide payment methods based on\n  checkout attributes, customer data, or other business logic implemented in your Function.\n  \"\"\"\n  hide: HideOperation\n\n  \"\"\"\n  A request to move a payment method to a new position in the checkout display order.\n\n  When your Function returns this operation, it changes the display order of payment methods\n  by placing the specified payment method at the requested index position.\n\n  Use this operation when you want to prioritize certain payment methods based on\n  checkout context, customer preferences, or other business logic implemented in your Function.\n  \"\"\"\n  move: MoveOperation\n\n  \"\"\"\n  A request to change the displayed name of a payment method during checkout.\n\n  When your Function returns this operation, it replaces the default name of the\n  specified payment method with the custom name that's provided in the request.\n\n  Use this operation when you want to provide more context or clarity about\n  payment methods based on checkout details, locale, or other business logic\n  implemented in your Function.\n  \"\"\"\n  rename: RenameOperation\n}\n\n\"\"\"\nA customization representing how payment methods will be ordered, hidden, or renamed.\n\"\"\"\ntype PaymentCustomization implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\ntype PaymentCustomizationPaymentMethod {\n  \"\"\"\n  Unique identifier for the payment method.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Name for the payment method.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nA request to change the displayed name of a payment method during checkout.\n\nWhen your Function returns this operation, it replaces the default name of the\nspecified payment method with the custom name that's provided in the request.\n\nUse this operation when you want to provide more context or clarity about\npayment methods based on checkout details, locale, or other business logic\nimplemented in your Function.\n\"\"\"\ninput RenameOperation {\n  \"\"\"\n  The new name for the payment method.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The identifier of the payment method to rename.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-js/shopify.extension.toml",
    "content": "api_version = \"2025-04\"\n\n[[extensions]]\nhandle = \"payment-customization-js\"\nname = \"t:name\"\ndescription = \"t:description\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.payment-customization.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/app/payment-customization/:functionId/new\"\n  details = \"/app/payment-customization/:functionId/:id\"\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-js/src/index.js",
    "content": "export * from './run';\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-js/src/run.graphql",
    "content": "query RunInput {\n  cart {\n    cost {\n      totalAmount {\n        amount\n      }\n    }\n  }\n  paymentMethods {\n    id\n    name\n  }\n  paymentCustomization {\n    metafield(\n      namespace: \"$app:payment-customization\"\n      key: \"function-configuration\"\n    ) {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-js/src/run.js",
    "content": "// @ts-check\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n * @typedef {import(\"../generated/api\").HideOperation} HideOperation\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst NO_CHANGES = {\n  operations: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  // Define a type for your configuration, and parse it from the metafield\n  /**\n   * @type {{\n   *   paymentMethodName: string\n   *   cartTotal: number\n   * }}\n   */\n  const configuration = JSON.parse(\n    input?.paymentCustomization?.metafield?.value ?? \"{}\"\n  );\n  if (configuration.paymentMethodName === undefined || configuration.cartTotal === undefined) {\n    console.error(\n      \"Configuration is missing.\"\n    );\n    return NO_CHANGES;\n  }\n\n  const cartTotal = parseFloat(input.cart.cost.totalAmount.amount);\n  // Use the configured cart total instead of a hardcoded value\n  if (cartTotal < configuration.cartTotal) {\n    console.error(\n      \"Cart total is not high enough, no need to hide the payment method.\"\n    );\n    return NO_CHANGES;\n  }\n\n  // Use the configured payment method name instead of a hardcoded value\n  const hidePaymentMethod = input.paymentMethods.find((method) =>\n    method.name.includes(configuration.paymentMethodName)\n  );\n\n  if (!hidePaymentMethod) {\n    return NO_CHANGES;\n  }\n\n  return {\n    operations: [\n      {\n        hide: {\n          paymentMethodId: hidePaymentMethod.id,\n        },\n      },\n    ],\n  };\n};\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-js/src/run.test.js",
    "content": "import { describe, it, expect } from \"vitest\";\nimport { run } from \"./run\";\n\n/**\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n */\n\ndescribe(\"payment customization function\", () => {\n  it(\"returns no operations without configuration\", () => {\n    const result = run({\n      cart: {\n        cost: {\n          totalAmount: {\n            amount: \"0\",\n          },\n        },\n      },\n      paymentMethods: [],\n      paymentCustomization: {\n        metafield: null,\n      },\n    });\n    const expected = /** @type {FunctionRunResult} */ ({ operations: [] });\n\n    expect(result).toEqual(expected);\n  });\n\n  it(\"returns no operations if total is less than configured\", () => {\n    const result = run({\n      cart: {\n        cost: {\n          totalAmount: {\n            amount: \"1\",\n          },\n        },\n      },\n      paymentMethods: [\n        {\n          id: \"1\",\n          name: \"Test\",\n        },\n      ],\n      paymentCustomization: {\n        metafield: {\n          value: '{\"paymentMethodName\": \"Test\", \"cartTotal\": 10}',\n        },\n      },\n    });\n    const expected = /** @type {FunctionRunResult} */ ({ operations: [] });\n\n    expect(result).toEqual(expected);\n  });\n\n  it(\"returns no operations if no payment method matches the configured name\", () => {\n    const result = run({\n      cart: {\n        cost: {\n          totalAmount: {\n            amount: \"11\",\n          },\n        },\n      },\n      paymentMethods: [\n        {\n          id: \"1\",\n          name: \"Another payment method\",\n        },\n      ],\n      paymentCustomization: {\n        metafield: {\n          value: '{\"paymentMethodName\": \"Test\", \"cartTotal\": 10}',\n        },\n      },\n    });\n    const expected = /** @type {FunctionRunResult} */ ({ operations: [] });\n\n    expect(result).toEqual(expected);\n  });\n\n  it(\"hides a matching payment method\", () => {\n    const result = run({\n      cart: {\n        cost: {\n          totalAmount: {\n            amount: \"11\",\n          },\n        },\n      },\n      paymentMethods: [\n        {\n          id: \"1\",\n          name: \"Test\",\n        },\n      ],\n      paymentCustomization: {\n        metafield: {\n          value: '{\"paymentMethodName\": \"Test\", \"cartTotal\": 10}',\n        },\n      },\n    });\n    const expected = /** @type {FunctionRunResult} */ ({\n      operations: [\n        {\n          hide: {\n            paymentMethodId: \"1\",\n          },\n        },\n      ],\n    });\n\n    expect(result).toEqual(expected);\n  });\n});\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-rust/.gitignore",
    "content": "/target\nCargo.lock\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-rust/Cargo.toml",
    "content": "[package]\nname = \"payment-customization\"\nversion = \"1.0.0\"\nedition = \"2021\"\nrust-version = \"1.62\"\n\n[dependencies]\nserde = { version = \"1.0.13\", features = [\"derive\"] }\nserde_json = \"1.0\"\nshopify_function = \"0.8.1\"\ngraphql_client = \"0.14.0\"\n\n[profile.release]\nlto = true\nopt-level = 'z'\nstrip = true\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-rust/locales/en.default.json",
    "content": "{\n  \"name\": \"payment-customization-rust\",\n  \"description\": \"payment-customization-rust\"\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-rust/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  A breakdown of the costs that the customer will pay at checkout. It includes the total amount,\n  the subtotal before taxes and duties, the tax amount, and duty charges.\n  \"\"\"\n  cost: CartCost!\n\n  \"\"\"\n  The items in a cart that are eligible for fulfillment and can be delivered to the customer.\n  \"\"\"\n  deliverableLines: [DeliverableCartLine!]!\n\n  \"\"\"\n  A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline\n  fulfillment by organizing items that can be shipped together, based on the customer's\n  shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\n  together, then the items are included in the same delivery group.\n\n  In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and\n  [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,\n  the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when\n  creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,\n  then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)\n  instead.\n  \"\"\"\n  deliveryGroups: [CartDeliveryGroup!]!\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nA breakdown of the costs that the customer will pay at checkout. It includes the total amount,\nthe subtotal before taxes and duties, the tax amount, and duty charges.\n\"\"\"\ntype CartCost {\n  \"\"\"\n  The amount for the customer to pay at checkout, excluding taxes and discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total amount for the customer to pay at checkout.\n  \"\"\"\n  totalAmount: MoneyV2!\n\n  \"\"\"\n  The duty charges for a customer to pay at checkout.\n  \"\"\"\n  totalDutyAmount: MoneyV2\n\n  \"\"\"\n  The total tax amount for the customer to pay at checkout.\n  \"\"\"\n  totalTaxAmount: MoneyV2\n}\n\n\"\"\"\nInformation about items in a cart that are grouped by shared delivery characteristics.\nDelivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's\nshipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped\ntogether, then the items are included in the same delivery group.\n\"\"\"\ntype CartDeliveryGroup {\n  \"\"\"\n  Information about items in a cart that a customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cartLines: [CartLine!]! @scaleLimits(rate: 0.005)\n\n  \"\"\"\n  The shipping or destination address associated with the delivery group.\n  \"\"\"\n  deliveryAddress: MailingAddress\n\n  \"\"\"\n  The delivery options available for the delivery group. Delivery options are the different ways that customers\n  can choose to have their orders shipped. Examples include express shipping or standard shipping.\n  \"\"\"\n  deliveryOptions: [CartDeliveryOption!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the delivery group.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Information about the delivery option that the customer has selected.\n  \"\"\"\n  selectedDeliveryOption: CartDeliveryOption\n}\n\n\"\"\"\nInformation about a delivery option that's available for an item in a cart. Delivery options are the different\nways that customers can choose to have their orders shipped. Examples include express shipping or standard\nshipping.\n\"\"\"\ntype CartDeliveryOption {\n  \"\"\"\n  A unique identifier that represents the delivery option offered to customers.\n  For example, `Canada Post Expedited`.\n  \"\"\"\n  code: String\n\n  \"\"\"\n  The amount that the customer pays if they select the delivery option.\n  \"\"\"\n  cost: MoneyV2!\n\n  \"\"\"\n  The delivery method associated with the delivery option. A delivery method is a way that merchants can\n  fulfill orders from their online stores. Delivery methods include shipping to an address,\n  [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),\n  and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),\n  all of which are natively supported by Shopify checkout.\n  \"\"\"\n  deliveryMethodType: DeliveryMethod!\n\n  \"\"\"\n  A single-line description of the delivery option, with HTML tags removed.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A unique, human-readable identifier of the delivery option's title.\n  A handle can contain letters, hyphens (`-`), and numbers, but not spaces.\n  For example, `standard-shipping`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  The name of the delivery option that displays to customers. The title is used to construct the delivery\n  option's handle. For example, if a delivery option is titled \"Standard Shipping\", then the handle is\n  `standard-shipping`.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nRepresents information about the merchandise in the cart.\n\"\"\"\ntype DeliverableCartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nList of different delivery method types.\n\"\"\"\nenum DeliveryMethod {\n  \"\"\"\n  Local Delivery.\n  \"\"\"\n  LOCAL\n\n  \"\"\"\n  None.\n  \"\"\"\n  NONE\n\n  \"\"\"\n  Shipping to a Pickup Point.\n  \"\"\"\n  PICKUP_POINT\n\n  \"\"\"\n  Local Pickup.\n  \"\"\"\n  PICK_UP\n\n  \"\"\"\n  Retail.\n  \"\"\"\n  RETAIL\n\n  \"\"\"\n  Shipping.\n  \"\"\"\n  SHIPPING\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to\napply to payment methods in checkout. In API versions 2023-10 and beyond, this\ntype is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of payment methods.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nThe output of the Function run target. The object contains the operations to apply to payment methods in checkout.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the list of payment methods.\n  \"\"\"\n  operations: [Operation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nA request to hide a payment method during checkout.\n\nWhen your Function returns this operation, it removes the specified payment method\nfrom the available options shown to customers during checkout.\n\nUse this operation when you want to conditionally hide payment methods based on\ncheckout attributes, customer data, or other business logic implemented in your Function.\n\"\"\"\ninput HideOperation {\n  \"\"\"\n  The identifier of the payment method to hide out.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nThe `Input` object is the complete GraphQL schema that your Function can query\nas an input to customize the payment methods that are available to customers\nduring checkout. Your Function receives only the fields that you request in the\ninput query. To optimize performance, we highly recommend that you request only\nthe fields that your function requires.\n\"\"\"\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The configuration of the app that owns the Function. This configuration\n  controls how merchants can modify [payment methods](https://help.shopify.com/manual/checkout-settings/checkout-customization),\n  such as renaming, reordering, or hiding them.\n  \"\"\"\n  paymentCustomization: PaymentCustomization!\n\n  \"\"\"\n  The list of payment methods that are available to customers during checkout that your Function can customize.\n  \"\"\"\n  paymentMethods: [PaymentCustomizationPaymentMethod!]!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nRepresents a mailing address.\n\"\"\"\ntype MailingAddress {\n  \"\"\"\n  The first line of the address. Typically the street address or PO Box number.\n  \"\"\"\n  address1: String\n\n  \"\"\"\n  The second line of the address. Typically the number of the apartment, suite, or unit.\n  \"\"\"\n  address2: String\n\n  \"\"\"\n  The name of the city, district, village, or town.\n  \"\"\"\n  city: String\n\n  \"\"\"\n  The name of the customer's company or organization.\n  \"\"\"\n  company: String\n\n  \"\"\"\n  The two-letter code for the country of the address. For example, US.\n  \"\"\"\n  countryCode: CountryCode\n\n  \"\"\"\n  The first name of the customer.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  The last name of the customer.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  The approximate latitude of the address.\n  \"\"\"\n  latitude: Float\n\n  \"\"\"\n  The approximate longitude of the address.\n  \"\"\"\n  longitude: Float\n\n  \"\"\"\n  The market of the address.\n  \"\"\"\n  market: Market\n\n  \"\"\"\n  The full name of the customer, based on firstName and lastName.\n  \"\"\"\n  name: String\n\n  \"\"\"\n  A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The alphanumeric code for the region. For example, ON.\n  \"\"\"\n  provinceCode: String\n\n  \"\"\"\n  The zip or postal code of the address.\n  \"\"\"\n  zip: String\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nA request to move a payment method to a new position in the checkout display order.\n\nWhen your Function returns this operation, it changes the display order of payment methods\nby placing the specified payment method at the requested index position.\n\nUse this operation when you want to prioritize certain payment methods based on\ncheckout context, customer preferences, or other business logic implemented in your Function.\n\"\"\"\ninput MoveOperation {\n  \"\"\"\n  The index to move the payment method to.\n  \"\"\"\n  index: Int!\n\n  \"\"\"\n  The identifier of the payment method to move.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.payment-customization.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nAn operation to apply to the list of payment methods.\n\"\"\"\ninput Operation @oneOf {\n  \"\"\"\n  A request to hide a payment method during checkout.\n\n  When your Function returns this operation, it removes the specified payment method\n  from the available options shown to customers during checkout.\n\n  Use this operation when you want to conditionally hide payment methods based on\n  checkout attributes, customer data, or other business logic implemented in your Function.\n  \"\"\"\n  hide: HideOperation\n\n  \"\"\"\n  A request to move a payment method to a new position in the checkout display order.\n\n  When your Function returns this operation, it changes the display order of payment methods\n  by placing the specified payment method at the requested index position.\n\n  Use this operation when you want to prioritize certain payment methods based on\n  checkout context, customer preferences, or other business logic implemented in your Function.\n  \"\"\"\n  move: MoveOperation\n\n  \"\"\"\n  A request to change the displayed name of a payment method during checkout.\n\n  When your Function returns this operation, it replaces the default name of the\n  specified payment method with the custom name that's provided in the request.\n\n  Use this operation when you want to provide more context or clarity about\n  payment methods based on checkout details, locale, or other business logic\n  implemented in your Function.\n  \"\"\"\n  rename: RenameOperation\n}\n\n\"\"\"\nA customization representing how payment methods will be ordered, hidden, or renamed.\n\"\"\"\ntype PaymentCustomization implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\ntype PaymentCustomizationPaymentMethod {\n  \"\"\"\n  Unique identifier for the payment method.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Name for the payment method.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nA request to change the displayed name of a payment method during checkout.\n\nWhen your Function returns this operation, it replaces the default name of the\nspecified payment method with the custom name that's provided in the request.\n\nUse this operation when you want to provide more context or clarity about\npayment methods based on checkout details, locale, or other business logic\nimplemented in your Function.\n\"\"\"\ninput RenameOperation {\n  \"\"\"\n  The new name for the payment method.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The identifier of the payment method to rename.\n  \"\"\"\n  paymentMethodId: ID!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-rust/shopify.extension.toml",
    "content": "api_version = \"2025-04\"\n\n[[extensions]]\nhandle = \"payment-customization-rust\"\nname = \"t:name\"\ndescription = \"t:description\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.payment-customization.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"cargo build --target=wasm32-wasip1 --release\"\n  path = \"target/wasm32-wasip1/release/payment-customization.wasm\"\n  watch = [ \"src/**/*.rs\" ]\n\n  [extensions.ui.paths]\n  create = \"/app/payment-customization/:functionId/new\"\n  details = \"/app/payment-customization/:functionId/:id\"\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-rust/src/main.rs",
    "content": "use std::process;\npub mod run;\n\nfn main() {\n    eprintln!(\"Please invoke a named export.\");\n    process::exit(1);\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-rust/src/run.graphql",
    "content": "query Input {\n  cart {\n    cost {\n      totalAmount {\n        amount\n      }\n    }\n  }\n  paymentMethods {\n    id\n    name\n  }\n  paymentCustomization {\n    metafield(\n      namespace: \"$app:payment-customization\"\n      key: \"function-configuration\"\n    ) {\n      value\n    }\n  }\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/extensions/payment-customization-rust/src/run.rs",
    "content": "use shopify_function::prelude::*;\nuse shopify_function::Result;\n\nuse serde::{Deserialize, Serialize};\n\n// Create a structure that matches the JSON structure that you'll use for your configuration\n#[derive(Serialize, Deserialize, Default, PartialEq)]\n#[serde(rename_all(deserialize = \"camelCase\"))]\nstruct Configuration {\n    payment_method_name: String,\n    cart_total: f64,\n}\n\n// Parse the JSON metafield value using serde\nimpl Configuration {\n    fn from_str(value: &str) -> Self {\n        serde_json::from_str(value).expect(\"Unable to parse configuration value from metafield\")\n    }\n}\n\n#[shopify_function_target(query_path = \"src/run.graphql\", schema_path = \"schema.graphql\")]\nfn run(input: input::ResponseData) -> Result<output::FunctionRunResult> {\n    let no_changes = output::FunctionRunResult { operations: vec![] };\n\n    // Get the configuration from the metafield on your function owner\n    let config = match input.payment_customization.metafield {\n        Some(input::InputPaymentCustomizationMetafield { value }) => {\n            Configuration::from_str(&value)\n        }\n        None => return Ok(no_changes),\n    };\n\n    // Use the configured cart total instead of a hardcoded value\n    let cart_total: f64 = input.cart.cost.total_amount.amount.into();\n    if cart_total < config.cart_total {\n        eprintln!(\"Cart total is not high enough, no need to hide the payment method.\");\n        return Ok(no_changes);\n    }\n\n    // Use the configured payment method name instead of a hardcoded value\n    let operations = input\n        .payment_methods\n        .iter()\n        .find(|&method| {\n            method\n                .name\n                .contains(&config.payment_method_name.to_string())\n        })\n        .map(|method| {\n            vec![output::Operation::Hide(output::HideOperation {\n                payment_method_id: method.id.to_string(),\n            })]\n        })\n        .unwrap_or_default();\n\n    Ok(output::FunctionRunResult { operations })\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use shopify_function::{run_function_with_input, Result};\n\n    #[test]\n    fn test_returns_no_operations_without_configuration() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"cost\": {\n                            \"totalAmount\": {\n                                \"amount\": \"0\"\n                            }\n                        }\n                    },\n                    \"paymentMethods\": [],\n                    \"paymentCustomization\": {\n                        \"metafield\": null\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult { operations: vec![] };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n\n    #[test]\n    fn test_returns_no_operations_if_total_less_than_configured() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"cost\": {\n                            \"totalAmount\": {\n                                \"amount\": \"1\"\n                            }\n                        }\n                    },\n                    \"paymentMethods\": [{\n                        \"id\": \"1\",\n                        \"name\": \"Test\"\n                    }],\n                    \"paymentCustomization\": {\n                        \"metafield\": {\n                            \"value\": \"{\\\"paymentMethodName\\\": \\\"Test\\\", \\\"cartTotal\\\": 10}\"\n                        }\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult { operations: vec![] };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n\n    #[test]\n    fn test_returns_no_operations_if_no_payment_method_matches_configured_name() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"cost\": {\n                            \"totalAmount\": {\n                                \"amount\": \"11\"\n                            }\n                        }\n                    },\n                    \"paymentMethods\": [{\n                        \"id\": \"1\",\n                        \"name\": \"Another payment method\"\n                    }],\n                    \"paymentCustomization\": {\n                        \"metafield\": {\n                            \"value\": \"{\\\"paymentMethodName\\\": \\\"Test\\\", \\\"cartTotal\\\": 10}\"\n                        }\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult { operations: vec![] };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n\n    #[test]\n    fn test_hides_matching_payment_method() -> Result<()> {\n        use run::output::*;\n\n        let result = run_function_with_input(\n            run,\n            r#\"\n                {\n                    \"cart\": {\n                        \"cost\": {\n                            \"totalAmount\": {\n                                \"amount\": \"11\"\n                            }\n                        }\n                    },\n                    \"paymentMethods\": [{\n                        \"id\": \"1\",\n                        \"name\": \"Test\"\n                    }],\n                    \"paymentCustomization\": {\n                        \"metafield\": {\n                            \"value\": \"{\\\"paymentMethodName\\\": \\\"Test\\\", \\\"cartTotal\\\": 10}\"\n                        }\n                    }\n                }\n            \"#,\n        )?;\n        let expected = FunctionRunResult {\n            operations: vec![Operation::Hide(HideOperation {\n                payment_method_id: \"1\".to_string(),\n            })],\n        };\n\n        assert_eq!(result, expected);\n        Ok(())\n    }\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/package.json",
    "content": "{\n  \"name\": \"app\",\n  \"private\": true,\n  \"scripts\": {\n    \"build\": \"react-router build\",\n    \"dev\": \"shopify app dev\",\n    \"config:link\": \"shopify app config link\",\n    \"generate\": \"shopify app generate\",\n    \"deploy\": \"shopify app deploy\",\n    \"config:use\": \"shopify app config use\",\n    \"env\": \"shopify app env\",\n    \"start\": \"react-router-serve ./build/server/index.js\",\n    \"docker-start\": \"npm run setup && npm run start\",\n    \"setup\": \"prisma generate && prisma migrate deploy\",\n    \"lint\": \"eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .\",\n    \"shopify\": \"shopify\",\n    \"prisma\": \"prisma\",\n    \"graphql-codegen\": \"graphql-codegen\",\n    \"vite\": \"vite\"\n  },\n  \"type\": \"module\",\n  \"engines\": {\n    \"node\": \">=20.10\"\n  },\n  \"dependencies\": {\n    \"@prisma/client\": \"^6.2.1\",\n    \"@react-router/dev\": \"^7.0.0\",\n    \"@react-router/fs-routes\": \"^7.0.0\",\n    \"@react-router/node\": \"^7.0.0\",\n    \"@react-router/serve\": \"^7.0.0\",\n    \"@shopify/app-bridge-react\": \"^4.1.6\",\n    \"@shopify/app-bridge-ui-types\": \"^0.1.1\",\n    \"@shopify/shopify-app-react-router\": \"^0.1.0\",\n    \"@shopify/shopify-app-session-storage-prisma\": \"^6.0.0\",\n    \"isbot\": \"^5.1.0\",\n    \"prisma\": \"^6.2.1\",\n    \"react\": \"^18.2.0\",\n    \"react-dom\": \"^18.2.0\",\n    \"react-router\": \"^7.0.0\"\n  },\n  \"devDependencies\": {\n    \"@shopify/api-codegen-preset\": \"^1.1.1\",\n    \"@shopify/polaris-types\": \"^1.0.1\",\n    \"eslint\": \"^8.38.0\",\n    \"eslint-plugin-import\": \"^2.28.1\",\n    \"eslint-plugin-jsx-a11y\": \"^6.7.1\",\n    \"eslint-plugin-react\": \"^7.33.2\",\n    \"eslint-plugin-react-hooks\": \"^4.6.0\",\n    \"prettier\": \"^3.2.4\",\n    \"vite\": \"^6.2.2\"\n  },\n  \"workspaces\": {\n    \"packages\": [\n      \"extensions/*\"\n    ]\n  },\n  \"trustedDependencies\": [\n    \"@shopify/plugin-cloudflare\"\n  ],\n  \"resolutions\": {\n    \"@graphql-tools/url-loader\": \"8.0.16\",\n    \"@graphql-codegen/client-preset\": \"4.7.0\",\n    \"@graphql-codegen/typescript-operations\": \"4.5.0\"\n  },\n  \"overrides\": {\n    \"@graphql-tools/url-loader\": \"8.0.16\",\n    \"@graphql-codegen/client-preset\": \"4.7.0\",\n    \"@graphql-codegen/typescript-operations\": \"4.5.0\"\n  },\n  \"packageManager\": \"pnpm@9.9.0+sha512.60c18acd138bff695d339be6ad13f7e936eea6745660d4cc4a776d5247c540d0edee1a563695c183a66eb917ef88f2b4feb1fc25f32a7adcadc7aaf3438e99c1\"\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/prisma/migrations/20240530213853_create_session_table/migration.sql",
    "content": "-- CreateTable\nCREATE TABLE \"Session\" (\n    \"id\" TEXT NOT NULL PRIMARY KEY,\n    \"shop\" TEXT NOT NULL,\n    \"state\" TEXT NOT NULL,\n    \"isOnline\" BOOLEAN NOT NULL DEFAULT false,\n    \"scope\" TEXT,\n    \"expires\" DATETIME,\n    \"accessToken\" TEXT NOT NULL,\n    \"userId\" BIGINT,\n    \"firstName\" TEXT,\n    \"lastName\" TEXT,\n    \"email\" TEXT,\n    \"accountOwner\" BOOLEAN NOT NULL DEFAULT false,\n    \"locale\" TEXT,\n    \"collaborator\" BOOLEAN DEFAULT false,\n    \"emailVerified\" BOOLEAN DEFAULT false\n);\n"
  },
  {
    "path": "sample-apps/payment-customizations/prisma/schema.prisma",
    "content": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n  provider = \"prisma-client-js\"\n}\n\n// Note that some adapters may set a maximum length for the String type by default, please ensure your strings are long\n// enough when changing adapters.\n// See https://www.prisma.io/docs/orm/reference/prisma-schema-reference#string for more information\ndatasource db {\n  provider = \"sqlite\"\n  url      = \"file:dev.sqlite\"\n}\n\nmodel Session {\n  id            String    @id\n  shop          String\n  state         String\n  isOnline      Boolean   @default(false)\n  scope         String?\n  expires       DateTime?\n  accessToken   String\n  userId        BigInt?\n  firstName     String?\n  lastName      String?\n  email         String?\n  accountOwner  Boolean   @default(false)\n  locale        String?\n  collaborator  Boolean?  @default(false)\n  emailVerified Boolean?  @default(false)\n}\n"
  },
  {
    "path": "sample-apps/payment-customizations/react-router.config.js",
    "content": "export default {\n  ssr: true,\n}; "
  },
  {
    "path": "sample-apps/payment-customizations/shopify.app.toml",
    "content": "# This file stores configurations for your Shopify app.\n\nscopes = \"write_products,write_payment_customizations,read_payment_customizations\"\n"
  },
  {
    "path": "sample-apps/payment-customizations/shopify.web.toml",
    "content": "name = \"React Router\"\nroles = [\"frontend\", \"backend\"]\nwebhooks_path = \"/webhooks/app/uninstalled\"\n\n[commands]\npredev = \"npx prisma generate\"\ndev = \"npx prisma migrate deploy && npm exec react-router dev\"\n"
  },
  {
    "path": "sample-apps/payment-customizations/tsconfig.json",
    "content": "{\n    \"include\": [\"env.d.ts\", \"**/*.ts\", \"**/*.tsx\", \".react-router/types/**/*\"],\n    \"compilerOptions\": {\n      \"lib\": [\"DOM\", \"DOM.Iterable\", \"ES2022\"],\n      \"strict\": true,\n      \"skipLibCheck\": true,\n      \"isolatedModules\": true,\n      \"allowSyntheticDefaultImports\": true,\n      \"removeComments\": false,\n      \"forceConsistentCasingInFileNames\": true,\n      \"noEmit\": true,\n      \"allowJs\": true,\n      \"resolveJsonModule\": true,\n      \"jsx\": \"react-jsx\",\n      \"module\": \"ESNext\",\n      \"moduleResolution\": \"Bundler\",\n      \"target\": \"ES2022\",\n      \"baseUrl\": \".\",\n      \"types\": [\"@react-router/node\", \"vite/client\", \"@shopify/polaris-types\"],\n      \"rootDirs\": [\".\", \"./.react-router/types\"]\n    }\n  }\n"
  },
  {
    "path": "sample-apps/payment-customizations/vite.config.js",
    "content": "import { reactRouter } from \"@react-router/dev/vite\";\nimport { defineConfig } from \"vite\";\n\n// Related: https://github.com/remix-run/remix/issues/2835#issuecomment-1144102176\n// Replace the HOST env var with SHOPIFY_APP_URL so that it doesn't break the Vite server.\n// The CLI will eventually stop passing in HOST,\n// so we can remove this workaround after the next major release.\nif (\n  process.env.HOST &&\n  (!process.env.SHOPIFY_APP_URL ||\n    process.env.SHOPIFY_APP_URL === process.env.HOST)\n) {\n  process.env.SHOPIFY_APP_URL = process.env.HOST;\n  delete process.env.HOST;\n}\n\nconst host = new URL(process.env.SHOPIFY_APP_URL || \"http://localhost\")\n  .hostname;\n\nlet hmrConfig;\nif (host === \"localhost\") {\n  hmrConfig = {\n    protocol: \"ws\",\n    host: \"localhost\",\n    port: 64999,\n    clientPort: 64999,\n  };\n} else {\n  hmrConfig = {\n    protocol: \"wss\",\n    host: host,\n    port: parseInt(process.env.FRONTEND_PORT) || 8002,\n    clientPort: 443,\n  };\n}\n\nexport default defineConfig({\n  server: {\n    allowedHosts: [host],\n    cors: {\n      preflightContinue: true,\n    },\n    port: Number(process.env.PORT || 3000),\n    hmr: hmrConfig,\n    fs: {\n      // See https://vitejs.dev/config/server-options.html#server-fs-allow for more information\n      allow: [\"app\", \"node_modules\"],\n    },\n  },\n  plugins: [\n    reactRouter(),\n  ],\n  build: {\n    assetsInlineLimit: 0,\n  },\n  optimizeDeps: {\n    include: [\"@shopify/app-bridge-react\", \"@shopify/polaris\"],\n  },\n}); "
  },
  {
    "path": "sample-apps/update-line-item/.gitignore",
    "content": "# Environment Configuration\n.env\n.env.*\n\n# Dependency directory\nnode_modules\n\n# Test coverage directory\ncoverage\n\n# Ignore Apple macOS Desktop Services Store\n.DS_Store\n\n# Logs\nlogs\n*.log\n\n# extensions build output\nextensions/*/build\n\n# lock files\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\n"
  },
  {
    "path": "sample-apps/update-line-item/.npmrc",
    "content": "engine-strict=true\nauto-install-peers=true\nshamefully-hoist=true\n@shopify:registry=https://registry.npmjs.org\n"
  },
  {
    "path": "sample-apps/update-line-item/README.md",
    "content": "# Shopify App Template - None (app with extensions only)\n\nThis is a template for building a [Shopify app](https://shopify.dev/docs/apps/getting-started) that includes no app home UI. It contains the basics for building a Shopify app that uses only app extensions.\n\n**If you plan for your app to load its own page in the Shopify Admin, then you'll want to choose one of our other templates.**\n\nWhether you choose to use this template or another one, you can use your preferred package manager and the Shopify CLI with [these steps](#installing-the-template).\n\n## Benefits\n\nShopify apps are built on a variety of Shopify tools to create a great merchant experience. The [create an app](https://shopify.dev/docs/apps/getting-started/create) tutorial in our developer documentation will guide you through creating a Shopify app.\n\nThis app template does little more than install the CLI and scaffold a respository.\n\n## Getting started\n\n### Requirements\n\n1. You must [download and install Node.js](https://nodejs.org/en/download/) if you don't already have it.\n1. You must [create a Shopify partner account](https://partners.shopify.com/signup) if you don’t have one.\n1. You must create a store for testing if you don't have one, either a [development store](https://help.shopify.com/en/partners/dashboard/development-stores#create-a-development-store) or a [Shopify Plus sandbox store](https://help.shopify.com/en/partners/dashboard/managing-stores/plus-sandbox-store).\n\n### Installing the template\n\nThis template can be installed using your preferred package manager:\n\nUsing yarn:\n\n```shell\nyarn create @shopify/app\n```\n\nUsing npm:\n\n```shell\nnpm init @shopify/app@latest\n```\n\nUsing pnpm:\n\n```shell\npnpm create @shopify/app@latest\n```\n\nThis will clone the template and install the required dependencies.\n\n#### Local Development\n\n[The Shopify CLI](https://shopify.dev/docs/apps/tools/cli) connects to an app in your Partners dashboard. It provides environment variables and runs commands in parallel..\n\nYou can develop locally using your preferred package manager. Run one of the following commands from the root of your app.\n\nUsing yarn:\n\n```shell\nyarn dev\n```\n\nUsing npm:\n\n```shell\nnpm run dev\n```\n\nUsing pnpm:\n\n```shell\npnpm run dev\n```\n\nOpen the URL generated in your console. Once you grant permission to the app, you can start development (such as generating extensions).\n\n## Developer resources\n\n- [Introduction to Shopify apps](https://shopify.dev/docs/apps/getting-started)\n- [App authentication](https://shopify.dev/docs/apps/auth)\n- [Shopify CLI](https://shopify.dev/docs/apps/tools/cli)\n- [Shopify API Library documentation](https://github.com/Shopify/shopify-api-js#readme)\n"
  },
  {
    "path": "sample-apps/update-line-item/extensions/update-line-item-js/.gitignore",
    "content": "dist\ngenerated"
  },
  {
    "path": "sample-apps/update-line-item/extensions/update-line-item-js/package.json",
    "content": "{\n  \"name\": \"update-line-item-example\",\n  \"version\": \"0.0.1\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"npm exec -- shopify\",\n    \"typegen\": \"npm exec -- shopify app function typegen\",\n    \"build\": \"npm exec -- shopify app function build\",\n    \"preview\": \"npm exec -- shopify app function run\",\n    \"test\": \"vitest run\",\n    \"test:watch\": \"vitest watch\"\n  },\n  \"codegen\": {\n    \"schema\": \"schema.graphql\",\n    \"documents\": \"src/*.graphql\",\n    \"generates\": {\n      \"./generated/api.ts\": {\n        \"plugins\": [\n          \"typescript\",\n          \"typescript-operations\"\n        ]\n      }\n    },\n    \"config\": {\n      \"omitOperationSuffix\": true\n    }\n  },\n  \"devDependencies\": {\n    \"vitest\": \"^0.29.8\"\n  },\n  \"dependencies\": {\n    \"@shopify/shopify_function\": \"0.1.0\",\n    \"javy\": \"0.1.1\"\n  }\n}\n"
  },
  {
    "path": "sample-apps/update-line-item/extensions/update-line-item-js/schema.graphql",
    "content": "schema {\n  query: Input\n  mutation: MutationRoot\n}\n\n\"\"\"\nScale the Functions resource limits based on the field's length.\n\"\"\"\ndirective @scaleLimits(rate: Float!) on FIELD_DEFINITION\n\n\"\"\"\nRequires that exactly one field must be supplied and that field must not be `null`.\n\"\"\"\ndirective @oneOf on INPUT_OBJECT\n\n\"\"\"\nA custom property. Attributes are used to store additional information about a Shopify resource, such as\nproducts, customers, or orders. Attributes are stored as key-value pairs.\n\nFor example, a list of attributes might include whether a customer is a first-time buyer (`\"customer_first_order\": \"true\"`),\nwhether an order is gift-wrapped (`\"gift_wrapped\": \"true\"`), a preferred delivery date\n(`\"preferred_delivery_date\": \"2025-10-01\"`), the discount applied (`\"loyalty_discount_applied\": \"10%\"`), and any\nnotes provided by the customer (`\"customer_notes\": \"Please leave at the front door\"`).\n\"\"\"\ntype Attribute {\n  \"\"\"\n  The key or name of the attribute. For example, `\"customer_first_order\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the attribute. For example, `\"true\"`.\n  \"\"\"\n  value: String\n}\n\n\"\"\"\nThe custom attributes associated with a cart line to store additional information. Cart attributes\nallow you to collect specific information from customers on the **Cart** page, such as order notes,\ngift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\"\"\"\ninput AttributeOutput {\n  \"\"\"\n  The key of the cart line attribute to retrieve. For example, `\"gift_wrapping\"`.\n  \"\"\"\n  key: String!\n\n  \"\"\"\n  The value of the cart line attribute to retrieve. For example, `\"true\"`.\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nInformation about the customer that's interacting with the cart. It includes details such as the\ncustomer's email and phone number, and the total amount of money the customer has spent in the store.\nThis information helps personalize the checkout experience and ensures that accurate pricing and delivery options\nare displayed to customers.\n\"\"\"\ntype BuyerIdentity {\n  \"\"\"\n  The customer that's interacting with the cart. A customer is a buyer who has an\n  [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n  \"\"\"\n  customer: Customer\n\n  \"\"\"\n  The email address of the customer that's interacting with the cart.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  Whether the customer is authenticated through their\n  [customer account](https://help.shopify.com/manual/customers/customer-accounts).\n  If the customer is authenticated, then the `customer` field returns the customer's information.\n  If the customer isn't authenticated, then the `customer` field returns `null`.\n  \"\"\"\n  isAuthenticated: Boolean!\n\n  \"\"\"\n  The phone number of the customer that's interacting with the cart.\n  \"\"\"\n  phone: String\n\n  \"\"\"\n  The company of a B2B customer that's interacting with the cart.\n  Used to manage and track purchases made by businesses rather than individual customers.\n  \"\"\"\n  purchasingCompany: PurchasingCompany\n}\n\n\"\"\"\nThe cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\nand information about the customer, such as the customer's email address and phone number.\n\"\"\"\ntype Cart {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  Information about the customer that's interacting with the cart. It includes details such as the\n  customer's email and phone number, and the total amount of money the customer has spent in the store.\n  This information helps personalize the checkout experience and ensures that accurate pricing and delivery options\n  are displayed to customers.\n  \"\"\"\n  buyerIdentity: BuyerIdentity\n\n  \"\"\"\n  The items in a cart that the customer intends to purchase. A cart line is an entry in the\n  customer's cart that represents a single unit of a product variant. For example, if a customer adds two\n  different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  lines: [CartLine!]! @scaleLimits(rate: 0.005)\n}\n\n\"\"\"\nInformation about an item in a cart that a customer intends to purchase. A cart line is an entry in the\ncustomer's cart that represents a single unit of a product variant. For example, if a customer adds two\ndifferent sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLine {\n  \"\"\"\n  The custom attributes associated with a cart to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n\n  Cart line attributes are equivalent to the\n  [`line_item`](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  object in Liquid.\n  \"\"\"\n  attribute(\n    \"\"\"\n    The key of the cart attribute to retrieve. For example, `\"gift_wrapping\"`.\n    \"\"\"\n    key: String\n  ): Attribute\n\n  \"\"\"\n  The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\n  cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\n  the same t-shirt to their cart, then each size is represented as a separate cart line.\n  \"\"\"\n  cost: CartLineCost!\n\n  \"\"\"\n  The ID of the cart line.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The item that the customer intends to purchase.\n  \"\"\"\n  merchandise: Merchandise!\n\n  \"\"\"\n  The quantity of the item that the customer intends to purchase.\n  \"\"\"\n  quantity: Int!\n\n  \"\"\"\n  The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)\n  associated with the cart line, including information about how a product variant can be sold and purchased.\n  \"\"\"\n  sellingPlanAllocation: SellingPlanAllocation\n}\n\n\"\"\"\nThe cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's\ncart that represent a single unit of a product variant. For example, if a customer adds two different sizes of\nthe same t-shirt to their cart, then each size is represented as a separate cart line.\n\"\"\"\ntype CartLineCost {\n  \"\"\"\n  The cost of a single unit. For example, if a customer purchases three units of a product\n  that are priced at $10 each, then the `amountPerQuantity` is $10.\n  \"\"\"\n  amountPerQuantity: MoneyV2!\n\n  \"\"\"\n  The cost of a single unit before any discounts are applied. This field is used to calculate and display\n  savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price\n  is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is\n  `null` when the value is hidden from buyers.\n  \"\"\"\n  compareAtAmountPerQuantity: MoneyV2\n\n  \"\"\"\n  The cost of items in the cart before applying any discounts to certain items.\n  This amount serves as the starting point for calculating any potential savings customers\n  might receive through promotions or discounts.\n  \"\"\"\n  subtotalAmount: MoneyV2!\n\n  \"\"\"\n  The total cost of items in a cart.\n  \"\"\"\n  totalAmount: MoneyV2!\n}\n\ninput CartLineInput {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The quantity of the cart line to be merged.The max quantity is 2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nAn operation to apply to the cart. For example, you can expand a cart line item to display\nits [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\nmultiple cart lines into a single line representing a bundle, and update the presentation of line items\nin the cart to override their price, title, or image.\n\"\"\"\ninput CartOperation @oneOf {\n  \"\"\"\n  An operation that expands a single cart line item to form a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  expand: ExpandOperation\n\n  \"\"\"\n  An operation that merges multiple cart line items into a\n  single line, representing a\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\n  of components.\n  \"\"\"\n  merge: MergeOperation\n\n  \"\"\"\n  An operation that allows you to override the price, title,\n  and image of a cart line item. Only stores on a\n  [Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\n  can use apps with `update` operations.\n  \"\"\"\n  update: UpdateOperation\n}\n\n\"\"\"\nA customization that changes the pricing and\npresentation of items in a cart. For example,\nyou can modify the appearance of cart items,\nsuch as updating titles and images,\nor [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n\"\"\"\ntype CartTransform implements HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether the product is in the specified collection.\n\nA collection is a group of products that can be displayed in online stores and other sales channels in\ncategories, which makes it easy for customers to find them. For example, an athletics store might create\ndifferent collections for running attire and accessories.\n\"\"\"\ntype CollectionMembership {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the collection.\n  \"\"\"\n  collectionId: ID!\n\n  \"\"\"\n  Whether the product is in the specified collection.\n  \"\"\"\n  isMember: Boolean!\n}\n\n\"\"\"\nRepresents information about a company which is also a customer of the shop.\n\"\"\"\ntype Company implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's main point of contact.\n\"\"\"\ntype CompanyContact {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The company contact's locale (language).\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  The company contact's job title.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company contact was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nA company's location.\n\"\"\"\ntype CompanyLocation implements HasMetafields {\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was created in Shopify.\n  \"\"\"\n  createdAt: DateTime!\n\n  \"\"\"\n  A unique externally-supplied ID for the company.\n  \"\"\"\n  externalId: String\n\n  \"\"\"\n  The ID of the company.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The preferred locale of the company location.\n  \"\"\"\n  locale: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The name of the company location.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))\n  at which the company location was last modified.\n  \"\"\"\n  updatedAt: DateTime!\n}\n\n\"\"\"\nThe country for which the store is customized, reflecting local preferences and regulations.\nLocalization might influence the language, currency, and product offerings available in a store to enhance\nthe shopping experience for customers in that region.\n\"\"\"\ntype Country {\n  \"\"\"\n  The ISO code of the country.\n  \"\"\"\n  isoCode: CountryCode!\n}\n\n\"\"\"\nThe code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.\n\"\"\"\nenum CountryCode {\n  \"\"\"\n  Ascension Island.\n  \"\"\"\n  AC\n\n  \"\"\"\n  Andorra.\n  \"\"\"\n  AD\n\n  \"\"\"\n  United Arab Emirates.\n  \"\"\"\n  AE\n\n  \"\"\"\n  Afghanistan.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Antigua & Barbuda.\n  \"\"\"\n  AG\n\n  \"\"\"\n  Anguilla.\n  \"\"\"\n  AI\n\n  \"\"\"\n  Albania.\n  \"\"\"\n  AL\n\n  \"\"\"\n  Armenia.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Netherlands Antilles.\n  \"\"\"\n  AN\n\n  \"\"\"\n  Angola.\n  \"\"\"\n  AO\n\n  \"\"\"\n  Argentina.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Austria.\n  \"\"\"\n  AT\n\n  \"\"\"\n  Australia.\n  \"\"\"\n  AU\n\n  \"\"\"\n  Aruba.\n  \"\"\"\n  AW\n\n  \"\"\"\n  Åland Islands.\n  \"\"\"\n  AX\n\n  \"\"\"\n  Azerbaijan.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Bosnia & Herzegovina.\n  \"\"\"\n  BA\n\n  \"\"\"\n  Barbados.\n  \"\"\"\n  BB\n\n  \"\"\"\n  Bangladesh.\n  \"\"\"\n  BD\n\n  \"\"\"\n  Belgium.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Burkina Faso.\n  \"\"\"\n  BF\n\n  \"\"\"\n  Bulgaria.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bahrain.\n  \"\"\"\n  BH\n\n  \"\"\"\n  Burundi.\n  \"\"\"\n  BI\n\n  \"\"\"\n  Benin.\n  \"\"\"\n  BJ\n\n  \"\"\"\n  St. Barthélemy.\n  \"\"\"\n  BL\n\n  \"\"\"\n  Bermuda.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Brunei.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Bolivia.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Caribbean Netherlands.\n  \"\"\"\n  BQ\n\n  \"\"\"\n  Brazil.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bahamas.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Bhutan.\n  \"\"\"\n  BT\n\n  \"\"\"\n  Bouvet Island.\n  \"\"\"\n  BV\n\n  \"\"\"\n  Botswana.\n  \"\"\"\n  BW\n\n  \"\"\"\n  Belarus.\n  \"\"\"\n  BY\n\n  \"\"\"\n  Belize.\n  \"\"\"\n  BZ\n\n  \"\"\"\n  Canada.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Cocos (Keeling) Islands.\n  \"\"\"\n  CC\n\n  \"\"\"\n  Congo - Kinshasa.\n  \"\"\"\n  CD\n\n  \"\"\"\n  Central African Republic.\n  \"\"\"\n  CF\n\n  \"\"\"\n  Congo - Brazzaville.\n  \"\"\"\n  CG\n\n  \"\"\"\n  Switzerland.\n  \"\"\"\n  CH\n\n  \"\"\"\n  Côte d’Ivoire.\n  \"\"\"\n  CI\n\n  \"\"\"\n  Cook Islands.\n  \"\"\"\n  CK\n\n  \"\"\"\n  Chile.\n  \"\"\"\n  CL\n\n  \"\"\"\n  Cameroon.\n  \"\"\"\n  CM\n\n  \"\"\"\n  China.\n  \"\"\"\n  CN\n\n  \"\"\"\n  Colombia.\n  \"\"\"\n  CO\n\n  \"\"\"\n  Costa Rica.\n  \"\"\"\n  CR\n\n  \"\"\"\n  Cuba.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Cape Verde.\n  \"\"\"\n  CV\n\n  \"\"\"\n  Curaçao.\n  \"\"\"\n  CW\n\n  \"\"\"\n  Christmas Island.\n  \"\"\"\n  CX\n\n  \"\"\"\n  Cyprus.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Czechia.\n  \"\"\"\n  CZ\n\n  \"\"\"\n  Germany.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Djibouti.\n  \"\"\"\n  DJ\n\n  \"\"\"\n  Denmark.\n  \"\"\"\n  DK\n\n  \"\"\"\n  Dominica.\n  \"\"\"\n  DM\n\n  \"\"\"\n  Dominican Republic.\n  \"\"\"\n  DO\n\n  \"\"\"\n  Algeria.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ecuador.\n  \"\"\"\n  EC\n\n  \"\"\"\n  Estonia.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Egypt.\n  \"\"\"\n  EG\n\n  \"\"\"\n  Western Sahara.\n  \"\"\"\n  EH\n\n  \"\"\"\n  Eritrea.\n  \"\"\"\n  ER\n\n  \"\"\"\n  Spain.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Ethiopia.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Finland.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Fiji.\n  \"\"\"\n  FJ\n\n  \"\"\"\n  Falkland Islands.\n  \"\"\"\n  FK\n\n  \"\"\"\n  Faroe Islands.\n  \"\"\"\n  FO\n\n  \"\"\"\n  France.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Gabon.\n  \"\"\"\n  GA\n\n  \"\"\"\n  United Kingdom.\n  \"\"\"\n  GB\n\n  \"\"\"\n  Grenada.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Georgia.\n  \"\"\"\n  GE\n\n  \"\"\"\n  French Guiana.\n  \"\"\"\n  GF\n\n  \"\"\"\n  Guernsey.\n  \"\"\"\n  GG\n\n  \"\"\"\n  Ghana.\n  \"\"\"\n  GH\n\n  \"\"\"\n  Gibraltar.\n  \"\"\"\n  GI\n\n  \"\"\"\n  Greenland.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gambia.\n  \"\"\"\n  GM\n\n  \"\"\"\n  Guinea.\n  \"\"\"\n  GN\n\n  \"\"\"\n  Guadeloupe.\n  \"\"\"\n  GP\n\n  \"\"\"\n  Equatorial Guinea.\n  \"\"\"\n  GQ\n\n  \"\"\"\n  Greece.\n  \"\"\"\n  GR\n\n  \"\"\"\n  South Georgia & South Sandwich Islands.\n  \"\"\"\n  GS\n\n  \"\"\"\n  Guatemala.\n  \"\"\"\n  GT\n\n  \"\"\"\n  Guinea-Bissau.\n  \"\"\"\n  GW\n\n  \"\"\"\n  Guyana.\n  \"\"\"\n  GY\n\n  \"\"\"\n  Hong Kong SAR.\n  \"\"\"\n  HK\n\n  \"\"\"\n  Heard & McDonald Islands.\n  \"\"\"\n  HM\n\n  \"\"\"\n  Honduras.\n  \"\"\"\n  HN\n\n  \"\"\"\n  Croatia.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Haiti.\n  \"\"\"\n  HT\n\n  \"\"\"\n  Hungary.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Indonesia.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Ireland.\n  \"\"\"\n  IE\n\n  \"\"\"\n  Israel.\n  \"\"\"\n  IL\n\n  \"\"\"\n  Isle of Man.\n  \"\"\"\n  IM\n\n  \"\"\"\n  India.\n  \"\"\"\n  IN\n\n  \"\"\"\n  British Indian Ocean Territory.\n  \"\"\"\n  IO\n\n  \"\"\"\n  Iraq.\n  \"\"\"\n  IQ\n\n  \"\"\"\n  Iran.\n  \"\"\"\n  IR\n\n  \"\"\"\n  Iceland.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italy.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Jersey.\n  \"\"\"\n  JE\n\n  \"\"\"\n  Jamaica.\n  \"\"\"\n  JM\n\n  \"\"\"\n  Jordan.\n  \"\"\"\n  JO\n\n  \"\"\"\n  Japan.\n  \"\"\"\n  JP\n\n  \"\"\"\n  Kenya.\n  \"\"\"\n  KE\n\n  \"\"\"\n  Kyrgyzstan.\n  \"\"\"\n  KG\n\n  \"\"\"\n  Cambodia.\n  \"\"\"\n  KH\n\n  \"\"\"\n  Kiribati.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Comoros.\n  \"\"\"\n  KM\n\n  \"\"\"\n  St. Kitts & Nevis.\n  \"\"\"\n  KN\n\n  \"\"\"\n  North Korea.\n  \"\"\"\n  KP\n\n  \"\"\"\n  South Korea.\n  \"\"\"\n  KR\n\n  \"\"\"\n  Kuwait.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Cayman Islands.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Kazakhstan.\n  \"\"\"\n  KZ\n\n  \"\"\"\n  Laos.\n  \"\"\"\n  LA\n\n  \"\"\"\n  Lebanon.\n  \"\"\"\n  LB\n\n  \"\"\"\n  St. Lucia.\n  \"\"\"\n  LC\n\n  \"\"\"\n  Liechtenstein.\n  \"\"\"\n  LI\n\n  \"\"\"\n  Sri Lanka.\n  \"\"\"\n  LK\n\n  \"\"\"\n  Liberia.\n  \"\"\"\n  LR\n\n  \"\"\"\n  Lesotho.\n  \"\"\"\n  LS\n\n  \"\"\"\n  Lithuania.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luxembourg.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvia.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Libya.\n  \"\"\"\n  LY\n\n  \"\"\"\n  Morocco.\n  \"\"\"\n  MA\n\n  \"\"\"\n  Monaco.\n  \"\"\"\n  MC\n\n  \"\"\"\n  Moldova.\n  \"\"\"\n  MD\n\n  \"\"\"\n  Montenegro.\n  \"\"\"\n  ME\n\n  \"\"\"\n  St. Martin.\n  \"\"\"\n  MF\n\n  \"\"\"\n  Madagascar.\n  \"\"\"\n  MG\n\n  \"\"\"\n  North Macedonia.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Mali.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Myanmar (Burma).\n  \"\"\"\n  MM\n\n  \"\"\"\n  Mongolia.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Macao SAR.\n  \"\"\"\n  MO\n\n  \"\"\"\n  Martinique.\n  \"\"\"\n  MQ\n\n  \"\"\"\n  Mauritania.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Montserrat.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Malta.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Mauritius.\n  \"\"\"\n  MU\n\n  \"\"\"\n  Maldives.\n  \"\"\"\n  MV\n\n  \"\"\"\n  Malawi.\n  \"\"\"\n  MW\n\n  \"\"\"\n  Mexico.\n  \"\"\"\n  MX\n\n  \"\"\"\n  Malaysia.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Mozambique.\n  \"\"\"\n  MZ\n\n  \"\"\"\n  Namibia.\n  \"\"\"\n  NA\n\n  \"\"\"\n  New Caledonia.\n  \"\"\"\n  NC\n\n  \"\"\"\n  Niger.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Norfolk Island.\n  \"\"\"\n  NF\n\n  \"\"\"\n  Nigeria.\n  \"\"\"\n  NG\n\n  \"\"\"\n  Nicaragua.\n  \"\"\"\n  NI\n\n  \"\"\"\n  Netherlands.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norway.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Nepal.\n  \"\"\"\n  NP\n\n  \"\"\"\n  Nauru.\n  \"\"\"\n  NR\n\n  \"\"\"\n  Niue.\n  \"\"\"\n  NU\n\n  \"\"\"\n  New Zealand.\n  \"\"\"\n  NZ\n\n  \"\"\"\n  Oman.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Panama.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Peru.\n  \"\"\"\n  PE\n\n  \"\"\"\n  French Polynesia.\n  \"\"\"\n  PF\n\n  \"\"\"\n  Papua New Guinea.\n  \"\"\"\n  PG\n\n  \"\"\"\n  Philippines.\n  \"\"\"\n  PH\n\n  \"\"\"\n  Pakistan.\n  \"\"\"\n  PK\n\n  \"\"\"\n  Poland.\n  \"\"\"\n  PL\n\n  \"\"\"\n  St. Pierre & Miquelon.\n  \"\"\"\n  PM\n\n  \"\"\"\n  Pitcairn Islands.\n  \"\"\"\n  PN\n\n  \"\"\"\n  Palestinian Territories.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portugal.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Paraguay.\n  \"\"\"\n  PY\n\n  \"\"\"\n  Qatar.\n  \"\"\"\n  QA\n\n  \"\"\"\n  Réunion.\n  \"\"\"\n  RE\n\n  \"\"\"\n  Romania.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Serbia.\n  \"\"\"\n  RS\n\n  \"\"\"\n  Russia.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Rwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Saudi Arabia.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Solomon Islands.\n  \"\"\"\n  SB\n\n  \"\"\"\n  Seychelles.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sudan.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Sweden.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Singapore.\n  \"\"\"\n  SG\n\n  \"\"\"\n  St. Helena.\n  \"\"\"\n  SH\n\n  \"\"\"\n  Slovenia.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Svalbard & Jan Mayen.\n  \"\"\"\n  SJ\n\n  \"\"\"\n  Slovakia.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Sierra Leone.\n  \"\"\"\n  SL\n\n  \"\"\"\n  San Marino.\n  \"\"\"\n  SM\n\n  \"\"\"\n  Senegal.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somalia.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Suriname.\n  \"\"\"\n  SR\n\n  \"\"\"\n  South Sudan.\n  \"\"\"\n  SS\n\n  \"\"\"\n  São Tomé & Príncipe.\n  \"\"\"\n  ST\n\n  \"\"\"\n  El Salvador.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Sint Maarten.\n  \"\"\"\n  SX\n\n  \"\"\"\n  Syria.\n  \"\"\"\n  SY\n\n  \"\"\"\n  Eswatini.\n  \"\"\"\n  SZ\n\n  \"\"\"\n  Tristan da Cunha.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Turks & Caicos Islands.\n  \"\"\"\n  TC\n\n  \"\"\"\n  Chad.\n  \"\"\"\n  TD\n\n  \"\"\"\n  French Southern Territories.\n  \"\"\"\n  TF\n\n  \"\"\"\n  Togo.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thailand.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tajikistan.\n  \"\"\"\n  TJ\n\n  \"\"\"\n  Tokelau.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Timor-Leste.\n  \"\"\"\n  TL\n\n  \"\"\"\n  Turkmenistan.\n  \"\"\"\n  TM\n\n  \"\"\"\n  Tunisia.\n  \"\"\"\n  TN\n\n  \"\"\"\n  Tonga.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Türkiye.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Trinidad & Tobago.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Tuvalu.\n  \"\"\"\n  TV\n\n  \"\"\"\n  Taiwan.\n  \"\"\"\n  TW\n\n  \"\"\"\n  Tanzania.\n  \"\"\"\n  TZ\n\n  \"\"\"\n  Ukraine.\n  \"\"\"\n  UA\n\n  \"\"\"\n  Uganda.\n  \"\"\"\n  UG\n\n  \"\"\"\n  U.S. Outlying Islands.\n  \"\"\"\n  UM\n\n  \"\"\"\n  United States.\n  \"\"\"\n  US\n\n  \"\"\"\n  Uruguay.\n  \"\"\"\n  UY\n\n  \"\"\"\n  Uzbekistan.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vatican City.\n  \"\"\"\n  VA\n\n  \"\"\"\n  St. Vincent & Grenadines.\n  \"\"\"\n  VC\n\n  \"\"\"\n  Venezuela.\n  \"\"\"\n  VE\n\n  \"\"\"\n  British Virgin Islands.\n  \"\"\"\n  VG\n\n  \"\"\"\n  Vietnam.\n  \"\"\"\n  VN\n\n  \"\"\"\n  Vanuatu.\n  \"\"\"\n  VU\n\n  \"\"\"\n  Wallis & Futuna.\n  \"\"\"\n  WF\n\n  \"\"\"\n  Samoa.\n  \"\"\"\n  WS\n\n  \"\"\"\n  Kosovo.\n  \"\"\"\n  XK\n\n  \"\"\"\n  Yemen.\n  \"\"\"\n  YE\n\n  \"\"\"\n  Mayotte.\n  \"\"\"\n  YT\n\n  \"\"\"\n  South Africa.\n  \"\"\"\n  ZA\n\n  \"\"\"\n  Zambia.\n  \"\"\"\n  ZM\n\n  \"\"\"\n  Zimbabwe.\n  \"\"\"\n  ZW\n\n  \"\"\"\n  Unknown Region.\n  \"\"\"\n  ZZ\n}\n\n\"\"\"\nThe currency codes that represent the world currencies throughout the Admin API. Currency codes include\n[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,\ndigital currency codes.\n\"\"\"\nenum CurrencyCode {\n  \"\"\"\n  United Arab Emirates Dirham (AED).\n  \"\"\"\n  AED\n\n  \"\"\"\n  Afghan Afghani (AFN).\n  \"\"\"\n  AFN\n\n  \"\"\"\n  Albanian Lek (ALL).\n  \"\"\"\n  ALL\n\n  \"\"\"\n  Armenian Dram (AMD).\n  \"\"\"\n  AMD\n\n  \"\"\"\n  Netherlands Antillean Guilder.\n  \"\"\"\n  ANG\n\n  \"\"\"\n  Angolan Kwanza (AOA).\n  \"\"\"\n  AOA\n\n  \"\"\"\n  Argentine Pesos (ARS).\n  \"\"\"\n  ARS\n\n  \"\"\"\n  Australian Dollars (AUD).\n  \"\"\"\n  AUD\n\n  \"\"\"\n  Aruban Florin (AWG).\n  \"\"\"\n  AWG\n\n  \"\"\"\n  Azerbaijani Manat (AZN).\n  \"\"\"\n  AZN\n\n  \"\"\"\n  Bosnia and Herzegovina Convertible Mark (BAM).\n  \"\"\"\n  BAM\n\n  \"\"\"\n  Barbadian Dollar (BBD).\n  \"\"\"\n  BBD\n\n  \"\"\"\n  Bangladesh Taka (BDT).\n  \"\"\"\n  BDT\n\n  \"\"\"\n  Bulgarian Lev (BGN).\n  \"\"\"\n  BGN\n\n  \"\"\"\n  Bahraini Dinar (BHD).\n  \"\"\"\n  BHD\n\n  \"\"\"\n  Burundian Franc (BIF).\n  \"\"\"\n  BIF\n\n  \"\"\"\n  Bermudian Dollar (BMD).\n  \"\"\"\n  BMD\n\n  \"\"\"\n  Brunei Dollar (BND).\n  \"\"\"\n  BND\n\n  \"\"\"\n  Bolivian Boliviano (BOB).\n  \"\"\"\n  BOB\n\n  \"\"\"\n  Brazilian Real (BRL).\n  \"\"\"\n  BRL\n\n  \"\"\"\n  Bahamian Dollar (BSD).\n  \"\"\"\n  BSD\n\n  \"\"\"\n  Bhutanese Ngultrum (BTN).\n  \"\"\"\n  BTN\n\n  \"\"\"\n  Botswana Pula (BWP).\n  \"\"\"\n  BWP\n\n  \"\"\"\n  Belarusian Ruble (BYN).\n  \"\"\"\n  BYN\n\n  \"\"\"\n  Belarusian Ruble (BYR).\n  \"\"\"\n  BYR @deprecated(reason: \"Use `BYN` instead.\")\n\n  \"\"\"\n  Belize Dollar (BZD).\n  \"\"\"\n  BZD\n\n  \"\"\"\n  Canadian Dollars (CAD).\n  \"\"\"\n  CAD\n\n  \"\"\"\n  Congolese franc (CDF).\n  \"\"\"\n  CDF\n\n  \"\"\"\n  Swiss Francs (CHF).\n  \"\"\"\n  CHF\n\n  \"\"\"\n  Chilean Peso (CLP).\n  \"\"\"\n  CLP\n\n  \"\"\"\n  Chinese Yuan Renminbi (CNY).\n  \"\"\"\n  CNY\n\n  \"\"\"\n  Colombian Peso (COP).\n  \"\"\"\n  COP\n\n  \"\"\"\n  Costa Rican Colones (CRC).\n  \"\"\"\n  CRC\n\n  \"\"\"\n  Cape Verdean escudo (CVE).\n  \"\"\"\n  CVE\n\n  \"\"\"\n  Czech Koruny (CZK).\n  \"\"\"\n  CZK\n\n  \"\"\"\n  Djiboutian Franc (DJF).\n  \"\"\"\n  DJF\n\n  \"\"\"\n  Danish Kroner (DKK).\n  \"\"\"\n  DKK\n\n  \"\"\"\n  Dominican Peso (DOP).\n  \"\"\"\n  DOP\n\n  \"\"\"\n  Algerian Dinar (DZD).\n  \"\"\"\n  DZD\n\n  \"\"\"\n  Egyptian Pound (EGP).\n  \"\"\"\n  EGP\n\n  \"\"\"\n  Eritrean Nakfa (ERN).\n  \"\"\"\n  ERN\n\n  \"\"\"\n  Ethiopian Birr (ETB).\n  \"\"\"\n  ETB\n\n  \"\"\"\n  Euro (EUR).\n  \"\"\"\n  EUR\n\n  \"\"\"\n  Fijian Dollars (FJD).\n  \"\"\"\n  FJD\n\n  \"\"\"\n  Falkland Islands Pounds (FKP).\n  \"\"\"\n  FKP\n\n  \"\"\"\n  United Kingdom Pounds (GBP).\n  \"\"\"\n  GBP\n\n  \"\"\"\n  Georgian Lari (GEL).\n  \"\"\"\n  GEL\n\n  \"\"\"\n  Ghanaian Cedi (GHS).\n  \"\"\"\n  GHS\n\n  \"\"\"\n  Gibraltar Pounds (GIP).\n  \"\"\"\n  GIP\n\n  \"\"\"\n  Gambian Dalasi (GMD).\n  \"\"\"\n  GMD\n\n  \"\"\"\n  Guinean Franc (GNF).\n  \"\"\"\n  GNF\n\n  \"\"\"\n  Guatemalan Quetzal (GTQ).\n  \"\"\"\n  GTQ\n\n  \"\"\"\n  Guyanese Dollar (GYD).\n  \"\"\"\n  GYD\n\n  \"\"\"\n  Hong Kong Dollars (HKD).\n  \"\"\"\n  HKD\n\n  \"\"\"\n  Honduran Lempira (HNL).\n  \"\"\"\n  HNL\n\n  \"\"\"\n  Croatian Kuna (HRK).\n  \"\"\"\n  HRK\n\n  \"\"\"\n  Haitian Gourde (HTG).\n  \"\"\"\n  HTG\n\n  \"\"\"\n  Hungarian Forint (HUF).\n  \"\"\"\n  HUF\n\n  \"\"\"\n  Indonesian Rupiah (IDR).\n  \"\"\"\n  IDR\n\n  \"\"\"\n  Israeli New Shekel (NIS).\n  \"\"\"\n  ILS\n\n  \"\"\"\n  Indian Rupees (INR).\n  \"\"\"\n  INR\n\n  \"\"\"\n  Iraqi Dinar (IQD).\n  \"\"\"\n  IQD\n\n  \"\"\"\n  Iranian Rial (IRR).\n  \"\"\"\n  IRR\n\n  \"\"\"\n  Icelandic Kronur (ISK).\n  \"\"\"\n  ISK\n\n  \"\"\"\n  Jersey Pound.\n  \"\"\"\n  JEP\n\n  \"\"\"\n  Jamaican Dollars (JMD).\n  \"\"\"\n  JMD\n\n  \"\"\"\n  Jordanian Dinar (JOD).\n  \"\"\"\n  JOD\n\n  \"\"\"\n  Japanese Yen (JPY).\n  \"\"\"\n  JPY\n\n  \"\"\"\n  Kenyan Shilling (KES).\n  \"\"\"\n  KES\n\n  \"\"\"\n  Kyrgyzstani Som (KGS).\n  \"\"\"\n  KGS\n\n  \"\"\"\n  Cambodian Riel.\n  \"\"\"\n  KHR\n\n  \"\"\"\n  Kiribati Dollar (KID).\n  \"\"\"\n  KID\n\n  \"\"\"\n  Comorian Franc (KMF).\n  \"\"\"\n  KMF\n\n  \"\"\"\n  South Korean Won (KRW).\n  \"\"\"\n  KRW\n\n  \"\"\"\n  Kuwaiti Dinar (KWD).\n  \"\"\"\n  KWD\n\n  \"\"\"\n  Cayman Dollars (KYD).\n  \"\"\"\n  KYD\n\n  \"\"\"\n  Kazakhstani Tenge (KZT).\n  \"\"\"\n  KZT\n\n  \"\"\"\n  Laotian Kip (LAK).\n  \"\"\"\n  LAK\n\n  \"\"\"\n  Lebanese Pounds (LBP).\n  \"\"\"\n  LBP\n\n  \"\"\"\n  Sri Lankan Rupees (LKR).\n  \"\"\"\n  LKR\n\n  \"\"\"\n  Liberian Dollar (LRD).\n  \"\"\"\n  LRD\n\n  \"\"\"\n  Lesotho Loti (LSL).\n  \"\"\"\n  LSL\n\n  \"\"\"\n  Lithuanian Litai (LTL).\n  \"\"\"\n  LTL\n\n  \"\"\"\n  Latvian Lati (LVL).\n  \"\"\"\n  LVL\n\n  \"\"\"\n  Libyan Dinar (LYD).\n  \"\"\"\n  LYD\n\n  \"\"\"\n  Moroccan Dirham.\n  \"\"\"\n  MAD\n\n  \"\"\"\n  Moldovan Leu (MDL).\n  \"\"\"\n  MDL\n\n  \"\"\"\n  Malagasy Ariary (MGA).\n  \"\"\"\n  MGA\n\n  \"\"\"\n  Macedonia Denar (MKD).\n  \"\"\"\n  MKD\n\n  \"\"\"\n  Burmese Kyat (MMK).\n  \"\"\"\n  MMK\n\n  \"\"\"\n  Mongolian Tugrik.\n  \"\"\"\n  MNT\n\n  \"\"\"\n  Macanese Pataca (MOP).\n  \"\"\"\n  MOP\n\n  \"\"\"\n  Mauritanian Ouguiya (MRU).\n  \"\"\"\n  MRU\n\n  \"\"\"\n  Mauritian Rupee (MUR).\n  \"\"\"\n  MUR\n\n  \"\"\"\n  Maldivian Rufiyaa (MVR).\n  \"\"\"\n  MVR\n\n  \"\"\"\n  Malawian Kwacha (MWK).\n  \"\"\"\n  MWK\n\n  \"\"\"\n  Mexican Pesos (MXN).\n  \"\"\"\n  MXN\n\n  \"\"\"\n  Malaysian Ringgits (MYR).\n  \"\"\"\n  MYR\n\n  \"\"\"\n  Mozambican Metical.\n  \"\"\"\n  MZN\n\n  \"\"\"\n  Namibian Dollar.\n  \"\"\"\n  NAD\n\n  \"\"\"\n  Nigerian Naira (NGN).\n  \"\"\"\n  NGN\n\n  \"\"\"\n  Nicaraguan Córdoba (NIO).\n  \"\"\"\n  NIO\n\n  \"\"\"\n  Norwegian Kroner (NOK).\n  \"\"\"\n  NOK\n\n  \"\"\"\n  Nepalese Rupee (NPR).\n  \"\"\"\n  NPR\n\n  \"\"\"\n  New Zealand Dollars (NZD).\n  \"\"\"\n  NZD\n\n  \"\"\"\n  Omani Rial (OMR).\n  \"\"\"\n  OMR\n\n  \"\"\"\n  Panamian Balboa (PAB).\n  \"\"\"\n  PAB\n\n  \"\"\"\n  Peruvian Nuevo Sol (PEN).\n  \"\"\"\n  PEN\n\n  \"\"\"\n  Papua New Guinean Kina (PGK).\n  \"\"\"\n  PGK\n\n  \"\"\"\n  Philippine Peso (PHP).\n  \"\"\"\n  PHP\n\n  \"\"\"\n  Pakistani Rupee (PKR).\n  \"\"\"\n  PKR\n\n  \"\"\"\n  Polish Zlotych (PLN).\n  \"\"\"\n  PLN\n\n  \"\"\"\n  Paraguayan Guarani (PYG).\n  \"\"\"\n  PYG\n\n  \"\"\"\n  Qatari Rial (QAR).\n  \"\"\"\n  QAR\n\n  \"\"\"\n  Romanian Lei (RON).\n  \"\"\"\n  RON\n\n  \"\"\"\n  Serbian dinar (RSD).\n  \"\"\"\n  RSD\n\n  \"\"\"\n  Russian Rubles (RUB).\n  \"\"\"\n  RUB\n\n  \"\"\"\n  Rwandan Franc (RWF).\n  \"\"\"\n  RWF\n\n  \"\"\"\n  Saudi Riyal (SAR).\n  \"\"\"\n  SAR\n\n  \"\"\"\n  Solomon Islands Dollar (SBD).\n  \"\"\"\n  SBD\n\n  \"\"\"\n  Seychellois Rupee (SCR).\n  \"\"\"\n  SCR\n\n  \"\"\"\n  Sudanese Pound (SDG).\n  \"\"\"\n  SDG\n\n  \"\"\"\n  Swedish Kronor (SEK).\n  \"\"\"\n  SEK\n\n  \"\"\"\n  Singapore Dollars (SGD).\n  \"\"\"\n  SGD\n\n  \"\"\"\n  Saint Helena Pounds (SHP).\n  \"\"\"\n  SHP\n\n  \"\"\"\n  Sierra Leonean Leone (SLL).\n  \"\"\"\n  SLL\n\n  \"\"\"\n  Somali Shilling (SOS).\n  \"\"\"\n  SOS\n\n  \"\"\"\n  Surinamese Dollar (SRD).\n  \"\"\"\n  SRD\n\n  \"\"\"\n  South Sudanese Pound (SSP).\n  \"\"\"\n  SSP\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STD).\n  \"\"\"\n  STD @deprecated(reason: \"Use `STN` instead.\")\n\n  \"\"\"\n  Sao Tome And Principe Dobra (STN).\n  \"\"\"\n  STN\n\n  \"\"\"\n  Syrian Pound (SYP).\n  \"\"\"\n  SYP\n\n  \"\"\"\n  Swazi Lilangeni (SZL).\n  \"\"\"\n  SZL\n\n  \"\"\"\n  Thai baht (THB).\n  \"\"\"\n  THB\n\n  \"\"\"\n  Tajikistani Somoni (TJS).\n  \"\"\"\n  TJS\n\n  \"\"\"\n  Turkmenistani Manat (TMT).\n  \"\"\"\n  TMT\n\n  \"\"\"\n  Tunisian Dinar (TND).\n  \"\"\"\n  TND\n\n  \"\"\"\n  Tongan Pa'anga (TOP).\n  \"\"\"\n  TOP\n\n  \"\"\"\n  Turkish Lira (TRY).\n  \"\"\"\n  TRY\n\n  \"\"\"\n  Trinidad and Tobago Dollars (TTD).\n  \"\"\"\n  TTD\n\n  \"\"\"\n  Taiwan Dollars (TWD).\n  \"\"\"\n  TWD\n\n  \"\"\"\n  Tanzanian Shilling (TZS).\n  \"\"\"\n  TZS\n\n  \"\"\"\n  Ukrainian Hryvnia (UAH).\n  \"\"\"\n  UAH\n\n  \"\"\"\n  Ugandan Shilling (UGX).\n  \"\"\"\n  UGX\n\n  \"\"\"\n  United States Dollars (USD).\n  \"\"\"\n  USD\n\n  \"\"\"\n  United States Dollars Coin (USDC).\n  \"\"\"\n  USDC\n\n  \"\"\"\n  Uruguayan Pesos (UYU).\n  \"\"\"\n  UYU\n\n  \"\"\"\n  Uzbekistan som (UZS).\n  \"\"\"\n  UZS\n\n  \"\"\"\n  Venezuelan Bolivares (VED).\n  \"\"\"\n  VED\n\n  \"\"\"\n  Venezuelan Bolivares (VEF).\n  \"\"\"\n  VEF @deprecated(reason: \"Use `VES` instead.\")\n\n  \"\"\"\n  Venezuelan Bolivares Soberanos (VES).\n  \"\"\"\n  VES\n\n  \"\"\"\n  Vietnamese đồng (VND).\n  \"\"\"\n  VND\n\n  \"\"\"\n  Vanuatu Vatu (VUV).\n  \"\"\"\n  VUV\n\n  \"\"\"\n  Samoan Tala (WST).\n  \"\"\"\n  WST\n\n  \"\"\"\n  Central African CFA Franc (XAF).\n  \"\"\"\n  XAF\n\n  \"\"\"\n  East Caribbean Dollar (XCD).\n  \"\"\"\n  XCD\n\n  \"\"\"\n  West African CFA franc (XOF).\n  \"\"\"\n  XOF\n\n  \"\"\"\n  CFP Franc (XPF).\n  \"\"\"\n  XPF\n\n  \"\"\"\n  Unrecognized currency.\n  \"\"\"\n  XXX\n\n  \"\"\"\n  Yemeni Rial (YER).\n  \"\"\"\n  YER\n\n  \"\"\"\n  South African Rand (ZAR).\n  \"\"\"\n  ZAR\n\n  \"\"\"\n  Zambian Kwacha (ZMW).\n  \"\"\"\n  ZMW\n}\n\n\"\"\"\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\ntype CustomProduct {\n  \"\"\"\n  Whether the merchandise is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nRepresents a [customer](https://help.shopify.com/manual/customers/manage-customers)\nwho has an [account](https://help.shopify.com/manual/customers/customer-accounts) with the store.\n`Customer` returns data including the customer's contact information and order history.\n\"\"\"\ntype Customer implements HasMetafields {\n  \"\"\"\n  The total amount that the customer has spent on orders.\n  The amount is converted from the shop's currency to the currency of the cart using a market rate.\n  \"\"\"\n  amountSpent: MoneyV2!\n\n  \"\"\"\n  The full name of the customer, based on the values for `firstName` and `lastName`.\n  If `firstName` and `lastName` aren't specified, then the value is the customer's email address.\n  If the email address isn't specified, then the value is the customer's phone number.\n  \"\"\"\n  displayName: String!\n\n  \"\"\"\n  The customer's email address.\n  \"\"\"\n  email: String\n\n  \"\"\"\n  The customer's first name.\n  \"\"\"\n  firstName: String\n\n  \"\"\"\n  Whether the customer is associated with any of the specified tags. The customer must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with either the `VIP` or `Gold` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the customer is associated with the specified tags. The customer must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the customer. For example,\n    `\"VIP, Gold\"` returns customers with both the `VIP` and `Gold` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the customer.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The customer's last name.\n  \"\"\"\n  lastName: String\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The total number of orders that the customer has made at the store.\n  \"\"\"\n  numberOfOrders: Int!\n}\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n\"\"\"\nscalar Date\n\n\"\"\"\nRepresents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n\"\"\"\nscalar DateTime\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the date and time but not the timezone which is determined from context.\n\nFor example, \"2018-01-01T00:00:00\".\n\"\"\"\nscalar DateTimeWithoutTimezone\n\n\"\"\"\nA signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n\"\"\"\nscalar Decimal\n\n\"\"\"\nAn operation that expands a single cart line item to form a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput ExpandOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The cart items to expand. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\n  bundle is a group of products that are sold together as a single unit.\n  \"\"\"\n  expandedCartItems: [ExpandedItem!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nThe cart item to expand. Each item is a component of the\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A\nbundle is a group of products that are sold together as a single unit.\n\"\"\"\ninput ExpandedItem {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant that represents the expanded item.\n  \"\"\"\n  merchandiseId: ID!\n\n  \"\"\"\n  A change to the original price of the expanded item. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: ExpandedItemPriceAdjustment\n\n  \"\"\"\n  The quantity of the expanded item. The maximum quantity is\n  2000.\n  \"\"\"\n  quantity: Int!\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to the expanded item.\n\"\"\"\ninput ExpandedItemFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the expanded item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to the original price of the expanded item. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput ExpandedItemPriceAdjustment {\n  \"\"\"\n  The value of the price adjustment to apply to the expanded item.\n  \"\"\"\n  adjustment: ExpandedItemPriceAdjustmentValue!\n}\n\n\"\"\"\nA price adjustment to apply to a cart line.\n\"\"\"\ninput ExpandedItemPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to the expanded item.\n  \"\"\"\n  fixedPricePerUnit: ExpandedItemFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart. In API versions 2023-10 and beyond, this type is deprecated in favor of `FunctionRunResult`.\n\"\"\"\ninput FunctionResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nThe output of the Function run target.\nThe object contains the operations to change the pricing and presentation of items\nin a cart.\n\"\"\"\ninput FunctionRunResult {\n  \"\"\"\n  The ordered list of operations to apply to the cart. For example, you can expand a cart line item to display\n  its [bundled items](https://shopify.dev/docs/apps/build/product-merchandising/bundles), merge\n  multiple cart lines into a single line representing a bundle, and update the presentation of line items\n  in the cart to override their price, title, or image.\n  \"\"\"\n  operations: [CartOperation!]!\n}\n\n\"\"\"\nA function-scoped handle to a refer a resource.\nThe Handle type appears in a JSON response as a String, but it is not intended to be human-readable.\nExample value: `\"10079785100\"`\n\"\"\"\nscalar Handle\n\n\"\"\"\nRepresents information about the metafields associated to the specified resource.\n\"\"\"\ninterface HasMetafields {\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nWhether a Shopify resource, such as a product or customer, has a specified tag.\n\"\"\"\ntype HasTagResponse {\n  \"\"\"\n  Whether the Shopify resource has the tag.\n  \"\"\"\n  hasTag: Boolean!\n\n  \"\"\"\n  A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,\n  a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for\n  summer.\n  \"\"\"\n  tag: String!\n}\n\n\"\"\"\nRepresents a unique identifier, often used to refetch an object.\nThe ID type appears in a JSON response as a String, but it is not intended to be human-readable.\n\nExample value: `\"gid://shopify/Product/10079785100\"`\n\"\"\"\nscalar ID\n\n\"\"\"\nAn image that replaces the existing image for a single cart line item or group of cart line items.\nThe image must have a publicly accessible URL.\n\"\"\"\ninput ImageInput {\n  \"\"\"\n  The URL of the image.\n  \"\"\"\n  url: URL!\n}\n\ntype Input {\n  \"\"\"\n  The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase\n  and information about the customer, such as the customer's email address and phone number.\n  \"\"\"\n  cart: Cart!\n\n  \"\"\"\n  A customization that changes the pricing and\n  presentation of items in a cart. For example,\n  you can modify the appearance of cart items,\n  such as updating titles and images,\n  or [bundling items](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartTransform: CartTransform!\n\n  \"\"\"\n  The regional and language settings that determine how the Function\n  handles currency, numbers, dates, and other locale-specific values\n  during discount calculations. These settings are based on the store's configured\n  [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).\n  \"\"\"\n  localization: Localization!\n\n  \"\"\"\n  The exchange rate used to convert discounts between the shop's default\n  currency and the currency that displays to the customer during checkout.\n  For example, if a store operates in USD but a customer is viewing discounts in EUR,\n  then the presentment currency rate handles this conversion for accurate pricing.\n  \"\"\"\n  presentmentCurrencyRate: Decimal!\n\n  \"\"\"\n  Information about the shop where the Function is running, including the shop's timezone\n  setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).\n  \"\"\"\n  shop: Shop!\n}\n\n\"\"\"\nThe language for which the store is customized, ensuring content is tailored to local customers.\nThis includes product descriptions and customer communications that resonate with the target audience.\n\"\"\"\ntype Language {\n  \"\"\"\n  The ISO code.\n  \"\"\"\n  isoCode: LanguageCode!\n}\n\n\"\"\"\nLanguage codes supported by Shopify.\n\"\"\"\nenum LanguageCode {\n  \"\"\"\n  Afrikaans.\n  \"\"\"\n  AF\n\n  \"\"\"\n  Akan.\n  \"\"\"\n  AK\n\n  \"\"\"\n  Amharic.\n  \"\"\"\n  AM\n\n  \"\"\"\n  Arabic.\n  \"\"\"\n  AR\n\n  \"\"\"\n  Assamese.\n  \"\"\"\n  AS\n\n  \"\"\"\n  Azerbaijani.\n  \"\"\"\n  AZ\n\n  \"\"\"\n  Belarusian.\n  \"\"\"\n  BE\n\n  \"\"\"\n  Bulgarian.\n  \"\"\"\n  BG\n\n  \"\"\"\n  Bambara.\n  \"\"\"\n  BM\n\n  \"\"\"\n  Bangla.\n  \"\"\"\n  BN\n\n  \"\"\"\n  Tibetan.\n  \"\"\"\n  BO\n\n  \"\"\"\n  Breton.\n  \"\"\"\n  BR\n\n  \"\"\"\n  Bosnian.\n  \"\"\"\n  BS\n\n  \"\"\"\n  Catalan.\n  \"\"\"\n  CA\n\n  \"\"\"\n  Chechen.\n  \"\"\"\n  CE\n\n  \"\"\"\n  Central Kurdish.\n  \"\"\"\n  CKB\n\n  \"\"\"\n  Czech.\n  \"\"\"\n  CS\n\n  \"\"\"\n  Church Slavic.\n  \"\"\"\n  CU\n\n  \"\"\"\n  Welsh.\n  \"\"\"\n  CY\n\n  \"\"\"\n  Danish.\n  \"\"\"\n  DA\n\n  \"\"\"\n  German.\n  \"\"\"\n  DE\n\n  \"\"\"\n  Dzongkha.\n  \"\"\"\n  DZ\n\n  \"\"\"\n  Ewe.\n  \"\"\"\n  EE\n\n  \"\"\"\n  Greek.\n  \"\"\"\n  EL\n\n  \"\"\"\n  English.\n  \"\"\"\n  EN\n\n  \"\"\"\n  Esperanto.\n  \"\"\"\n  EO\n\n  \"\"\"\n  Spanish.\n  \"\"\"\n  ES\n\n  \"\"\"\n  Estonian.\n  \"\"\"\n  ET\n\n  \"\"\"\n  Basque.\n  \"\"\"\n  EU\n\n  \"\"\"\n  Persian.\n  \"\"\"\n  FA\n\n  \"\"\"\n  Fulah.\n  \"\"\"\n  FF\n\n  \"\"\"\n  Finnish.\n  \"\"\"\n  FI\n\n  \"\"\"\n  Filipino.\n  \"\"\"\n  FIL\n\n  \"\"\"\n  Faroese.\n  \"\"\"\n  FO\n\n  \"\"\"\n  French.\n  \"\"\"\n  FR\n\n  \"\"\"\n  Western Frisian.\n  \"\"\"\n  FY\n\n  \"\"\"\n  Irish.\n  \"\"\"\n  GA\n\n  \"\"\"\n  Scottish Gaelic.\n  \"\"\"\n  GD\n\n  \"\"\"\n  Galician.\n  \"\"\"\n  GL\n\n  \"\"\"\n  Gujarati.\n  \"\"\"\n  GU\n\n  \"\"\"\n  Manx.\n  \"\"\"\n  GV\n\n  \"\"\"\n  Hausa.\n  \"\"\"\n  HA\n\n  \"\"\"\n  Hebrew.\n  \"\"\"\n  HE\n\n  \"\"\"\n  Hindi.\n  \"\"\"\n  HI\n\n  \"\"\"\n  Croatian.\n  \"\"\"\n  HR\n\n  \"\"\"\n  Hungarian.\n  \"\"\"\n  HU\n\n  \"\"\"\n  Armenian.\n  \"\"\"\n  HY\n\n  \"\"\"\n  Interlingua.\n  \"\"\"\n  IA\n\n  \"\"\"\n  Indonesian.\n  \"\"\"\n  ID\n\n  \"\"\"\n  Igbo.\n  \"\"\"\n  IG\n\n  \"\"\"\n  Sichuan Yi.\n  \"\"\"\n  II\n\n  \"\"\"\n  Icelandic.\n  \"\"\"\n  IS\n\n  \"\"\"\n  Italian.\n  \"\"\"\n  IT\n\n  \"\"\"\n  Japanese.\n  \"\"\"\n  JA\n\n  \"\"\"\n  Javanese.\n  \"\"\"\n  JV\n\n  \"\"\"\n  Georgian.\n  \"\"\"\n  KA\n\n  \"\"\"\n  Kikuyu.\n  \"\"\"\n  KI\n\n  \"\"\"\n  Kazakh.\n  \"\"\"\n  KK\n\n  \"\"\"\n  Kalaallisut.\n  \"\"\"\n  KL\n\n  \"\"\"\n  Khmer.\n  \"\"\"\n  KM\n\n  \"\"\"\n  Kannada.\n  \"\"\"\n  KN\n\n  \"\"\"\n  Korean.\n  \"\"\"\n  KO\n\n  \"\"\"\n  Kashmiri.\n  \"\"\"\n  KS\n\n  \"\"\"\n  Kurdish.\n  \"\"\"\n  KU\n\n  \"\"\"\n  Cornish.\n  \"\"\"\n  KW\n\n  \"\"\"\n  Kyrgyz.\n  \"\"\"\n  KY\n\n  \"\"\"\n  Luxembourgish.\n  \"\"\"\n  LB\n\n  \"\"\"\n  Ganda.\n  \"\"\"\n  LG\n\n  \"\"\"\n  Lingala.\n  \"\"\"\n  LN\n\n  \"\"\"\n  Lao.\n  \"\"\"\n  LO\n\n  \"\"\"\n  Lithuanian.\n  \"\"\"\n  LT\n\n  \"\"\"\n  Luba-Katanga.\n  \"\"\"\n  LU\n\n  \"\"\"\n  Latvian.\n  \"\"\"\n  LV\n\n  \"\"\"\n  Malagasy.\n  \"\"\"\n  MG\n\n  \"\"\"\n  Māori.\n  \"\"\"\n  MI\n\n  \"\"\"\n  Macedonian.\n  \"\"\"\n  MK\n\n  \"\"\"\n  Malayalam.\n  \"\"\"\n  ML\n\n  \"\"\"\n  Mongolian.\n  \"\"\"\n  MN\n\n  \"\"\"\n  Marathi.\n  \"\"\"\n  MR\n\n  \"\"\"\n  Malay.\n  \"\"\"\n  MS\n\n  \"\"\"\n  Maltese.\n  \"\"\"\n  MT\n\n  \"\"\"\n  Burmese.\n  \"\"\"\n  MY\n\n  \"\"\"\n  Norwegian (Bokmål).\n  \"\"\"\n  NB\n\n  \"\"\"\n  North Ndebele.\n  \"\"\"\n  ND\n\n  \"\"\"\n  Nepali.\n  \"\"\"\n  NE\n\n  \"\"\"\n  Dutch.\n  \"\"\"\n  NL\n\n  \"\"\"\n  Norwegian Nynorsk.\n  \"\"\"\n  NN\n\n  \"\"\"\n  Norwegian.\n  \"\"\"\n  NO\n\n  \"\"\"\n  Oromo.\n  \"\"\"\n  OM\n\n  \"\"\"\n  Odia.\n  \"\"\"\n  OR\n\n  \"\"\"\n  Ossetic.\n  \"\"\"\n  OS\n\n  \"\"\"\n  Punjabi.\n  \"\"\"\n  PA\n\n  \"\"\"\n  Polish.\n  \"\"\"\n  PL\n\n  \"\"\"\n  Pashto.\n  \"\"\"\n  PS\n\n  \"\"\"\n  Portuguese.\n  \"\"\"\n  PT\n\n  \"\"\"\n  Portuguese (Brazil).\n  \"\"\"\n  PT_BR\n\n  \"\"\"\n  Portuguese (Portugal).\n  \"\"\"\n  PT_PT\n\n  \"\"\"\n  Quechua.\n  \"\"\"\n  QU\n\n  \"\"\"\n  Romansh.\n  \"\"\"\n  RM\n\n  \"\"\"\n  Rundi.\n  \"\"\"\n  RN\n\n  \"\"\"\n  Romanian.\n  \"\"\"\n  RO\n\n  \"\"\"\n  Russian.\n  \"\"\"\n  RU\n\n  \"\"\"\n  Kinyarwanda.\n  \"\"\"\n  RW\n\n  \"\"\"\n  Sanskrit.\n  \"\"\"\n  SA\n\n  \"\"\"\n  Sardinian.\n  \"\"\"\n  SC\n\n  \"\"\"\n  Sindhi.\n  \"\"\"\n  SD\n\n  \"\"\"\n  Northern Sami.\n  \"\"\"\n  SE\n\n  \"\"\"\n  Sango.\n  \"\"\"\n  SG\n\n  \"\"\"\n  Sinhala.\n  \"\"\"\n  SI\n\n  \"\"\"\n  Slovak.\n  \"\"\"\n  SK\n\n  \"\"\"\n  Slovenian.\n  \"\"\"\n  SL\n\n  \"\"\"\n  Shona.\n  \"\"\"\n  SN\n\n  \"\"\"\n  Somali.\n  \"\"\"\n  SO\n\n  \"\"\"\n  Albanian.\n  \"\"\"\n  SQ\n\n  \"\"\"\n  Serbian.\n  \"\"\"\n  SR\n\n  \"\"\"\n  Sundanese.\n  \"\"\"\n  SU\n\n  \"\"\"\n  Swedish.\n  \"\"\"\n  SV\n\n  \"\"\"\n  Swahili.\n  \"\"\"\n  SW\n\n  \"\"\"\n  Tamil.\n  \"\"\"\n  TA\n\n  \"\"\"\n  Telugu.\n  \"\"\"\n  TE\n\n  \"\"\"\n  Tajik.\n  \"\"\"\n  TG\n\n  \"\"\"\n  Thai.\n  \"\"\"\n  TH\n\n  \"\"\"\n  Tigrinya.\n  \"\"\"\n  TI\n\n  \"\"\"\n  Turkmen.\n  \"\"\"\n  TK\n\n  \"\"\"\n  Tongan.\n  \"\"\"\n  TO\n\n  \"\"\"\n  Turkish.\n  \"\"\"\n  TR\n\n  \"\"\"\n  Tatar.\n  \"\"\"\n  TT\n\n  \"\"\"\n  Uyghur.\n  \"\"\"\n  UG\n\n  \"\"\"\n  Ukrainian.\n  \"\"\"\n  UK\n\n  \"\"\"\n  Urdu.\n  \"\"\"\n  UR\n\n  \"\"\"\n  Uzbek.\n  \"\"\"\n  UZ\n\n  \"\"\"\n  Vietnamese.\n  \"\"\"\n  VI\n\n  \"\"\"\n  Volapük.\n  \"\"\"\n  VO\n\n  \"\"\"\n  Wolof.\n  \"\"\"\n  WO\n\n  \"\"\"\n  Xhosa.\n  \"\"\"\n  XH\n\n  \"\"\"\n  Yiddish.\n  \"\"\"\n  YI\n\n  \"\"\"\n  Yoruba.\n  \"\"\"\n  YO\n\n  \"\"\"\n  Chinese.\n  \"\"\"\n  ZH\n\n  \"\"\"\n  Chinese (Simplified).\n  \"\"\"\n  ZH_CN\n\n  \"\"\"\n  Chinese (Traditional).\n  \"\"\"\n  ZH_TW\n\n  \"\"\"\n  Zulu.\n  \"\"\"\n  ZU\n}\n\n\"\"\"\nThe current time based on the\n[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n\"\"\"\ntype LocalTime {\n  \"\"\"\n  The current date relative to the parent object.\n  \"\"\"\n  date: Date!\n\n  \"\"\"\n  Returns true if the current date and time is at or past the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeAfter(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent object.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is before the given date and time, and false otherwise.\n  \"\"\"\n  dateTimeBefore(\n    \"\"\"\n    The date and time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    dateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current date and time is between the two given date and times, and false otherwise.\n  \"\"\"\n  dateTimeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endDateTime: DateTimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startDateTime: DateTimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeAfter(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is at or past the given time, and false otherwise.\n  \"\"\"\n  timeBefore(\n    \"\"\"\n    The time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    time: TimeWithoutTimezone!\n  ): Boolean!\n\n  \"\"\"\n  Returns true if the current time is between the two given times, and false otherwise.\n  \"\"\"\n  timeBetween(\n    \"\"\"\n    The upper bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    endTime: TimeWithoutTimezone!\n\n    \"\"\"\n    The lower bound time to compare against, assumed to be in the timezone of the parent timezone.\n    \"\"\"\n    startTime: TimeWithoutTimezone!\n  ): Boolean!\n}\n\n\"\"\"\nDetails about the localized experience for the store in a specific region, including country and language\nsettings. The localized experience is determined by the store's settings and the customer's location.\nLocalization ensures that customers can access relevant content and options while browsing or purchasing\nproducts in a store.\n\"\"\"\ntype Localization {\n  \"\"\"\n  The country for which the store is customized, reflecting local preferences and regulations.\n  Localization might influence the language, currency, and product offerings available in a store to enhance\n  the shopping experience for customers in that region.\n  \"\"\"\n  country: Country!\n\n  \"\"\"\n  The language for which the store is customized, ensuring content is tailored to local customers.\n  This includes product descriptions and customer communications that resonate with the target audience.\n  \"\"\"\n  language: Language!\n\n  \"\"\"\n  The market of the active localized experience.\n  \"\"\"\n  market: Market!\n}\n\n\"\"\"\nA market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/api/examples/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).\n\"\"\"\ntype Market implements HasMetafields {\n  \"\"\"\n  A human-readable unique string for the market automatically generated from its title.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A geographic region which comprises a market.\n  \"\"\"\n  regions: [MarketRegion!]!\n}\n\n\"\"\"\nRepresents a region.\n\"\"\"\ninterface MarketRegion {\n  \"\"\"\n  The name of the region in the language of the current localization.\n  \"\"\"\n  name: String\n}\n\n\"\"\"\nA country which comprises a market.\n\"\"\"\ntype MarketRegionCountry implements MarketRegion {\n  \"\"\"\n  The two-letter code for the country.\n  \"\"\"\n  code: CountryCode!\n\n  \"\"\"\n  The country name in the language of the current localization.\n  \"\"\"\n  name: String!\n}\n\n\"\"\"\nThe item that a customer intends to purchase. Merchandise can be a product variant or a custom\nproduct.\n\nA product variant is a specific version of a product that comes in more than one option, such as size or color.\nFor example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be\none product variant and a large, blue t-shirt would be another.\n\nA custom product represents a product that doesn't map to Shopify's\n[standard product categories](https://help.shopify.com/manual/products/details/product-type).\nFor example, you can use a custom product to manage gift cards, shipping requirements, localized product\ninformation, or weight measurements and conversions.\n\"\"\"\nunion Merchandise = CustomProduct | ProductVariant\n\n\"\"\"\nAn operation that merges multiple cart line items into a\nsingle line, representing a\n[bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles)\nof components.\n\"\"\"\ninput MergeOperation {\n  \"\"\"\n  The custom attributes associated with a cart line to store additional information. Cart attributes\n  allow you to collect specific information from customers on the **Cart** page, such as order notes,\n  gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.\n  \"\"\"\n  attributes: [AttributeOutput!] = []\n\n  \"\"\"\n  The cart items to merge. Each item in the list is a component of the\n  [bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles).\n  \"\"\"\n  cartLines: [CartLineInput!]!\n\n  \"\"\"\n  The image that replaces the existing image for the group of cart line items.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  The [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  of the product variant that represents the collection of cart line items.\n  \"\"\"\n  parentVariantId: ID!\n\n  \"\"\"\n  A change to the original price of a group of items. Price adjustments include discounts or additional charges that\n  affect the final price the customer pays. Price adjustments are often used for promotions, special offers,\n  or any price changes that the customer qualifies for.\n  \"\"\"\n  price: PriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for a group of cart line items.\n  If you don't provide a title, then the title of the parent variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\n[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information\nabout a Shopify resource, such as products, orders, and\n[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\nUsing [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\nenables you to customize the checkout experience.\n\"\"\"\ntype Metafield {\n  \"\"\"\n  The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in\n  the `value` field.\n  \"\"\"\n  type: String!\n\n  \"\"\"\n  The data that's stored in the metafield. The data is always stored as a string,\n  regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).\n  \"\"\"\n  value: String!\n}\n\n\"\"\"\nA precise monetary value and its associated currency. For example, 12.99 USD.\n\"\"\"\ntype MoneyV2 {\n  \"\"\"\n  A monetary value in decimal format, allowing for precise representation of cents or fractional\n  currency. For example, 12.99.\n  \"\"\"\n  amount: Decimal!\n\n  \"\"\"\n  The three-letter currency code that represents a world currency used in a store. Currency codes\n  include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,\n  and non-standard codes. For example, USD.\n  \"\"\"\n  currencyCode: CurrencyCode!\n}\n\n\"\"\"\nThe root mutation for the API.\n\"\"\"\ntype MutationRoot {\n  \"\"\"\n  Handles the Function result.\n  \"\"\"\n  handleResult(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionResult!\n  ): Void! @deprecated(reason: \"Use the target-specific field instead.\")\n\n  \"\"\"\n  Handles the Function result for the purchase.cart-transform.run target.\n  \"\"\"\n  run(\n    \"\"\"\n    The result of the Function.\n    \"\"\"\n    result: FunctionRunResult!\n  ): Void!\n}\n\n\"\"\"\nA change to the original price of a group of items. Price adjustments include discounts or additional charges that\naffect the final price the customer pays. Price adjustments are often used for promotions, special offers,\nor any price changes that the customer qualifies for.\n\"\"\"\ninput PriceAdjustment {\n  \"\"\"\n  The percentage price decrease of the price adjustment.\n  \"\"\"\n  percentageDecrease: PriceAdjustmentValue\n}\n\ninput PriceAdjustmentValue {\n  \"\"\"\n  The value of the price adjustment.\n  \"\"\"\n  value: Decimal!\n}\n\n\"\"\"\nThe goods and services that merchants offer to customers. Products can include details such as\ntitle, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\nProducts can be organized by grouping them into a collection.\n\nLearn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).\n\"\"\"\ntype Product implements HasMetafields {\n  \"\"\"\n  A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and\n  numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product\n  is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  handle: Handle!\n\n  \"\"\"\n  Whether the product is associated with any of the specified tags. The product must have at least one tag\n  from the list to return `true`.\n  \"\"\"\n  hasAnyTag(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with either the `sports` or `summer` tag.\n    \"\"\"\n    tags: [String!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is associated with the specified tags. The product must have all of the tags in the list\n  to return `true`.\n  \"\"\"\n  hasTags(\n    \"\"\"\n    A comma-separated list of searchable keywords that are associated with the product. For example,\n    `\"sports, summer\"` returns products with both the `sports` and `summer` tags.\n    \"\"\"\n    tags: [String!]! = []\n  ): [HasTagResponse!]!\n\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  Whether the product is in any of the specified collections. The product must be in at least one collection\n  from the list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inAnyCollection(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): Boolean!\n\n  \"\"\"\n  Whether the product is in the specified collections. The product must be in all of the collections in the\n  list to return `true`.\n\n  A collection is a group of products that can be displayed in online stores and other sales channels in\n  categories, which makes it easy for customers to find them. For example, an athletics store might create\n  different collections for running attire and accessories.\n  \"\"\"\n  inCollections(\n    \"\"\"\n    A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)\n    that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.\n    \"\"\"\n    ids: [ID!]! = []\n  ): [CollectionMembership!]!\n\n  \"\"\"\n  Whether the product is a gift card.\n  \"\"\"\n  isGiftCard: Boolean!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  A custom category for a product. Product types allow merchants to define categories other than the\n  ones available in Shopify's\n  [standard product categories](https://help.shopify.com/manual/products/details/product-type).\n  \"\"\"\n  productType: String\n\n  \"\"\"\n  The localized name for the product that displays to customers. The title is used to construct the product's\n  handle, which is a unique, human-readable string of the product's title. For example, if a product is titled\n  \"Black Sunglasses\", then the handle is `black-sunglasses`.\n  \"\"\"\n  title: String!\n\n  \"\"\"\n  The name of the product's vendor.\n  \"\"\"\n  vendor: String\n}\n\n\"\"\"\nA specific version of a product that comes in more than one option, such as size or color. For example,\nif a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one\nproduct variant and a large, blue t-shirt would be another.\n\"\"\"\ntype ProductVariant implements HasMetafields {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for the product variant.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n\n  \"\"\"\n  The product associated with the product variant. For example, if a\n  merchant sells t-shirts with options for size and color, then a small,\n  blue t-shirt would be one product variant and a large, blue t-shirt would be another.\n  The product associated with the product variant would be the t-shirt itself.\n  \"\"\"\n  product: Product!\n\n  \"\"\"\n  Whether the item needs to be shipped to the customer. For example, a\n  digital gift card doesn't need to be shipped, but a t-shirt does\n  need to be shipped.\n  \"\"\"\n  requiresShipping: Boolean!\n\n  \"\"\"\n  A case-sensitive identifier for the product variant in the merchant's store. For example, `\"BBC-1\"`.\n  A product variant must have a SKU to be connected to a\n  [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).\n  \"\"\"\n  sku: String\n\n  \"\"\"\n  The localized name for the product variant that displays to customers.\n  \"\"\"\n  title: String\n\n  \"\"\"\n  The product variant's weight, in the system of measurement set in the `weightUnit` field.\n  \"\"\"\n  weight: Float\n\n  \"\"\"\n  The unit of measurement for weight.\n  \"\"\"\n  weightUnit: WeightUnit!\n}\n\n\"\"\"\nThe company of a B2B customer that's interacting with the cart.\nUsed to manage and track purchases made by businesses rather than individual customers.\n\"\"\"\ntype PurchasingCompany {\n  \"\"\"\n  The company associated to the order or draft order.\n  \"\"\"\n  company: Company!\n\n  \"\"\"\n  The company contact associated to the order or draft order.\n  \"\"\"\n  contact: CompanyContact\n\n  \"\"\"\n  The company location associated to the order or draft order.\n  \"\"\"\n  location: CompanyLocation!\n}\n\n\"\"\"\nRepresents how products and variants can be sold and purchased.\n\"\"\"\ntype SellingPlan {\n  \"\"\"\n  The description of the selling plan.\n  \"\"\"\n  description: String\n\n  \"\"\"\n  A globally-unique identifier.\n  \"\"\"\n  id: ID!\n\n  \"\"\"\n  The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.\n  \"\"\"\n  name: String!\n\n  \"\"\"\n  Whether purchasing the selling plan will result in multiple deliveries.\n  \"\"\"\n  recurringDeliveries: Boolean!\n}\n\n\"\"\"\nRepresents an association between a variant and a selling plan. Selling plan\nallocations describe the options offered for each variant, and the price of the\nvariant when purchased with a selling plan.\n\"\"\"\ntype SellingPlanAllocation {\n  \"\"\"\n  A list of price adjustments, with a maximum of two. When there are two, the\n  first price adjustment goes into effect at the time of purchase, while the\n  second one starts after a certain number of orders. A price adjustment\n  represents how a selling plan affects pricing when a variant is purchased with\n  a selling plan. Prices display in the customer's currency if the shop is\n  configured for it.\n  \"\"\"\n  priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!\n\n  \"\"\"\n  A representation of how products and variants can be sold and purchased. For\n  example, an individual selling plan could be '6 weeks of prepaid granola,\n  delivered weekly'.\n  \"\"\"\n  sellingPlan: SellingPlan!\n}\n\n\"\"\"\nThe resulting prices for variants when they're purchased with a specific selling plan.\n\"\"\"\ntype SellingPlanAllocationPriceAdjustment {\n  \"\"\"\n  The effective price for a single delivery. For example, for a prepaid\n  subscription plan that includes 6 deliveries at the price of $48.00, the per\n  delivery price is $8.00.\n  \"\"\"\n  perDeliveryPrice: MoneyV2!\n\n  \"\"\"\n  The price of the variant when it's purchased with a selling plan For example,\n  for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,\n  where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.\n  \"\"\"\n  price: MoneyV2!\n}\n\n\"\"\"\nInformation about the store, including the store's timezone setting\nand custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).\n\"\"\"\ntype Shop implements HasMetafields {\n  \"\"\"\n  The current time based on the\n  [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).\n  \"\"\"\n  localTime: LocalTime!\n\n  \"\"\"\n  A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information\n  about a Shopify resource, such as products, orders, and\n  [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).\n  Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)\n  enables you to customize the checkout experience.\n  \"\"\"\n  metafield(\n    \"\"\"\n    The unique identifier for the metafield within its namespace. A metafield is composed of a\n    namespace and a key, in the format `namespace.key`.\n    \"\"\"\n    key: String!\n\n    \"\"\"\n    A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts\n    between different apps or different parts of the same app. If omitted, then the\n    [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)\n    is used.\n    \"\"\"\n    namespace: String\n  ): Metafield\n}\n\n\"\"\"\nA subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that\nincludes the time but not the date or timezone which is determined from context.\nFor example, \"05:43:21\".\n\"\"\"\nscalar TimeWithoutTimezone\n\n\"\"\"\nRepresents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n\"\"\"\nscalar URL\n\n\"\"\"\nAn operation that allows you to override the price, title,\nand image of a cart line item. Only stores on a\n[Shopify Plus plan](https://help.shopify.com/manual/intro-to-shopify/pricing-plans/plans-features/shopify-plus-plan)\ncan use apps with `update` operations.\n\"\"\"\ninput UpdateOperation {\n  \"\"\"\n  A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)\n  for a line item in a cart. A cart line represents a single unit of a\n  product variant that a customer intends to purchase.\n  \"\"\"\n  cartLineId: ID!\n\n  \"\"\"\n  The image that replaces the existing image for the cart line item.\n  The image must have a publicly accessible URL.\n  \"\"\"\n  image: ImageInput\n\n  \"\"\"\n  A change to an item's original price. Price adjustments include discounts or additional charges that affect the final\n  price the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\n  for which the customer qualifies.\n  \"\"\"\n  price: UpdateOperationPriceAdjustment\n\n  \"\"\"\n  The title that replaces the existing title for the cart line item.\n  If you don't provide a title, then the title of the product variant is used.\n  \"\"\"\n  title: String\n}\n\n\"\"\"\nA fixed price per unit adjustment to apply to a cart line.\n\"\"\"\ninput UpdateOperationFixedPricePerUnitAdjustment {\n  \"\"\"\n  The fixed price amount per quantity of the cart line item in presentment currency.\n  \"\"\"\n  amount: Decimal!\n}\n\n\"\"\"\nA change to an item's original price. Price adjustments include discounts or additional charges that affect the final\nprice the customer pays. Price adjustments are often used for promotions, special offers, or any price changes\nfor which the customer qualifies.\n\"\"\"\ninput UpdateOperationPriceAdjustment {\n  \"\"\"\n  The price adjustment per unit to apply to the cart line item.\n  \"\"\"\n  adjustment: UpdateOperationPriceAdjustmentValue!\n}\n\n\"\"\"\nThe value of the price adjustment to apply to the updated item.\n\"\"\"\ninput UpdateOperationPriceAdjustmentValue @oneOf {\n  \"\"\"\n  A fixed price per unit adjustment to apply to a cart line.\n  \"\"\"\n  fixedPricePerUnit: UpdateOperationFixedPricePerUnitAdjustment\n}\n\n\"\"\"\nA void type that can be used to return a null value from a mutation.\n\"\"\"\nscalar Void\n\n\"\"\"\nUnits of measurement for weight.\n\"\"\"\nenum WeightUnit {\n  \"\"\"\n  Metric system unit of mass.\n  \"\"\"\n  GRAMS\n\n  \"\"\"\n  1 kilogram equals 1000 grams.\n  \"\"\"\n  KILOGRAMS\n\n  \"\"\"\n  Imperial system unit of mass.\n  \"\"\"\n  OUNCES\n\n  \"\"\"\n  1 pound equals 16 ounces.\n  \"\"\"\n  POUNDS\n}\n"
  },
  {
    "path": "sample-apps/update-line-item/extensions/update-line-item-js/shopify.extension.toml",
    "content": "api_version = \"2024-04\"\n\n[[extensions]]\nhandle = \"update-line-item-demo\"\nname = \"t:name\"\ndescription = \"t:description\"\ntype = \"function\"\n\n  [[extensions.targeting]]\n  target = \"purchase.cart-transform.run\"\n  input_query = \"src/run.graphql\"\n  export = \"run\"\n\n  [extensions.build]\n  command = \"\"\n  path = \"dist/function.wasm\"\n\n  [extensions.ui.paths]\n  create = \"/\"\n  details = \"/\"\n\n"
  },
  {
    "path": "sample-apps/update-line-item/extensions/update-line-item-js/src/index.js",
    "content": "export * from './run';\n"
  },
  {
    "path": "sample-apps/update-line-item/extensions/update-line-item-js/src/run.graphql",
    "content": "query RunInput {\n  cart {\n    lines {\n      id\n      cost {\n        amountPerQuantity {\n          amount\n          currencyCode\n        }\n      }\n      # Cart line attribute to get the fabric length provided by the customer\n      fabricLength: attribute(key: \"Fabric Length\") {\n        value\n      }\n      merchandise {\n        __typename\n        ... on ProductVariant {\n          id\n          title\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "sample-apps/update-line-item/extensions/update-line-item-js/src/run.js",
    "content": "// @ts-check\n\n/*\nA straightforward example of a function that updates a line item title and price based on attributes.\n\nThe function reads the cart. Any item with a specific line item attribute will be used\nto generate an update operation with a custom title, and price based on simple math using \nthe line item attribute value.\n*/\n\n/**\n * @typedef {import(\"../generated/api\").RunInput} RunInput\n * @typedef {import(\"../generated/api\").FunctionRunResult} FunctionRunResult\n * @typedef {import(\"../generated/api\").CartOperation} CartOperation\n */\n\n/**\n * @type {FunctionRunResult}\n */\nconst NO_CHANGES = {\n  operations: [],\n};\n\n/**\n * @param {RunInput} input\n * @returns {FunctionRunResult}\n */\nexport function run(input) {\n  const operations = input.cart.lines.reduce(\n    /** @param {CartOperation[]} acc */\n    (acc, cartLine) => {\n      const updateOperation = optionallyBuildUpdateOperation(\n        cartLine\n      );\n\n      if (updateOperation) {\n        return [...acc, { update: updateOperation }];\n      }\n\n      return acc;\n    },\n    []\n  );\n\n  return operations.length > 0 ? { operations } : NO_CHANGES;\n};\n\n/**\n * @param {RunInput['cart']['lines'][number]} cartLine\n */\nfunction optionallyBuildUpdateOperation(\n  { id: cartLineId, merchandise, cost, fabricLength }\n) {\n  const hasFabricLength = fabricLength && Number(fabricLength.value) > 0;\n\n  if (\n    merchandise.__typename === \"ProductVariant\" &&\n    hasFabricLength\n  ) {\n    return {\n      cartLineId,\n      title: `${merchandise.title} (${fabricLength.value}m)`,\n      price: {\n        adjustment: {\n          fixedPricePerUnit: {\n            amount: (Number(fabricLength.value) * cost.amountPerQuantity.amount).toFixed(2)\n          }\n        }\n      }\n    };\n  }\n\n  return null;\n}\n"
  },
  {
    "path": "sample-apps/update-line-item/extensions/update-line-item-js/src/run.test.js",
    "content": "import { describe, it, expect } from \"vitest\";\nimport { run } from './run';\n\ndescribe(\"cart transform function\", () => {\n  it(\"returns NO_CHANGES when cart is empty\", () => {\n    expect(\n      run({\n        cart: {\n          lines: [],\n        },\n      })\n    ).toStrictEqual({ operations: [] });\n  });\n\n  it(\"returns NO_CHANGES when cart contains no lines with a fabric length\", () => {\n    expect(\n      run({\n        cart: {\n          lines: [\n            {\n              id: \"1\",\n              cost: {\n                amountPerQuantity: {\n                  amount: \"100.0\",\n                  currencyCode: \"CAD\"\n                }\n              },\n              fabricLength: null,\n              merchandise: {\n                __typename: \"ProductVariant\",\n                id: \"gid://shopify/ProductVariant/1\",\n                title: \"Some product\",\n              },\n            },\n          ],\n        },\n      })\n    ).toStrictEqual({ operations: [] });\n  });\n\n  it(\"returns operations when cart contains lines with a fabric length\", () => {\n    expect(\n      run({\n        cart: {\n          lines: [\n            {\n              id: \"1\",\n              cost: {\n                amountPerQuantity: {\n                  amount: \"10.0\",\n                  currencyCode: \"CAD\"\n                }\n              },\n              fabricLength: {\n                value: \"5\"\n              },\n              merchandise: {\n                __typename: \"ProductVariant\",\n                id: \"gid://shopify/ProductVariant/2\",\n                title: \"Custom Fabric\"\n              },\n            },\n          ],\n        },\n      })\n    ).toStrictEqual({\n      operations: [\n        {\n          update: {\n            cartLineId: \"1\",\n            title: \"Custom Fabric (5m)\",\n            price: {\n              adjustment: {\n                fixedPricePerUnit: {\n                  amount: \"50.00\"\n                }\n              }\n            }\n          },\n        },\n      ],\n    });\n  });\n});\n"
  },
  {
    "path": "sample-apps/update-line-item/package.json",
    "content": "{\n  \"name\": \"update-line-item\",\n  \"version\": \"1.0.0\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"shopify\": \"shopify\",\n    \"build\": \"shopify app build\",\n    \"dev\": \"shopify app dev\",\n    \"info\": \"shopify app info\",\n    \"generate\": \"shopify app generate\",\n    \"deploy\": \"shopify app deploy\"\n  },\n  \"dependencies\": {\n    \"@shopify/app\": \"3.49.5\",\n    \"@shopify/cli\": \"3.49.5\"\n  },\n  \"author\": \"spin\",\n  \"private\": true,\n  \"workspaces\": [\n    \"extensions/*\"\n  ]\n}"
  },
  {
    "path": "sample-apps/update-line-item/shopify.app.toml",
    "content": "# This file stores configurations for your Shopify app.\n# It must exist at the root of your app.\n\nscopes = \"\"\n"
  },
  {
    "path": "util/expand-liquid.js",
    "content": "/***\n * For local sample development / use without the Shopify CLI only.\n * This script replaces the liquid expansion functionality of the Shopify CLI for use cases where the Shopify CLI is not being used, like local sample development.\n */\n\nimport glob from 'fast-glob';\nimport { Liquid } from 'liquidjs';\nimport path from 'path';\nimport fs from 'node:fs/promises';\nimport { existsSync } from 'fs';\nimport toml from '@iarna/toml';\nimport { exec } from 'child_process';\n\nasync function expandLiquidTemplates(template, liquidData) {\n  const entries = await glob([path.join(template, \"**/*.liquid\")], {\n    dot: true,\n    ignore: [\"**/node_modules\"],\n  });\n\n  for (const entry of entries) {\n    const engine = new Liquid();\n    const rendered = await engine.renderFile(entry, liquidData);\n    const outputPath = entry.replace(\".liquid\", \"\");\n    await fs.writeFile(outputPath, rendered);\n    console.log(`  ${path.relative(process.cwd(), outputPath)}`);\n  }\n}\n\nasync function expandAppLiquidTemplates(appDir) {\n  const samplePath = path.join(process.cwd(), appDir);\n  const samples = (await fs.readdir(samplePath, { withFileTypes: true }))\n    .filter(dirent => dirent.isDirectory())\n    .map(dirent => path.join(samplePath, dirent.name));\n\n  for (const sample of samples) {\n    const configPath = path.join(sample, \"shopify.app.toml\");\n    if (!existsSync(configPath)) {\n      console.error(`${configPath} does not exist`);\n      continue;\n    }\n    const appConfig = toml.parse(await fs.readFile(configPath, \"utf8\"));\n\n    console.log(`Expanding liquid templates for ${appConfig.name}`);\n\n    const liquidData = {\n      app_name: appConfig.name,\n      dependency_manager: \"yarn\",\n    };\n\n    await expandLiquidTemplates(sample, liquidData);\n\n    console.log();\n  }\n}\n\nasync function directoryNames(parentPath) {\n  return (await fs.readdir(parentPath, { withFileTypes: true }))\n    .filter(dirent => dirent.isDirectory())\n    .map(dirent => dirent.name);\n}\n\nasync function expandExtensionLiquidTemplates(domainName, flavor) {\n  console.log(`Expanding liquid templates for ${domainName}`);\n  const domainPath = path.join(process.cwd(), domainName);\n\n  const langNames = await directoryNames(domainPath);\n  for (const langName of langNames) {\n    const langPath = path.join(domainPath, langName);\n    const extensionTypeNames = await directoryNames(langPath);\n\n    for (const extensionTypeName of extensionTypeNames) {\n      const extensionTypePath = path.join(langPath, extensionTypeName);\n      const templateNames = await directoryNames(extensionTypePath);\n\n      for (const templateName of templateNames) {\n        const templatePath = path.join(extensionTypePath, templateName);\n\n        if (langName === \"javascript\") {\n          await (await glob(path.join(templatePath, 'src', '!(*.liquid|*.graphql)'))).forEach(async (path) => await fs.rm(path));\n        }\n\n        const liquidData = {\n          name: `${domainName}-${extensionTypeName}-${templateName}`,\n          handle: `${domainName}-${extensionTypeName}-${templateName}`,\n          flavor,\n        };\n\n        await expandLiquidTemplates(templatePath, liquidData);\n\n        if (langName === \"javascript\") {\n          const srcFilePaths = await glob(path.join(templatePath, 'src', '!(*.liquid|*.graphql)'))\n          const srcFileExtensionsToChange = []\n\n          const fileExtension = flavor === \"typescript\" ? \"ts\" : \"js\";\n\n          for (const srcFilePath of srcFilePaths) {\n            srcFileExtensionsToChange.push(fs.rename(srcFilePath, `${srcFilePath}.${fileExtension}`, (err) => {\n              if (err) throw err;\n            }));\n          }\n\n          await Promise.all(srcFileExtensionsToChange)\n        }\n      }\n    }\n  }\n  console.log();\n}\n\nfunction ensureNoGitChanges() {\n  exec('git status --porcelain', (error, stdout, _stderr) => {\n    if (error) {\n      console.error(`error calling \\`git status\\`: ${error}`);\n      process.exit(1);;\n    }\n    if (stdout) {\n      console.error('Untracked files detected:\\n', stdout);\n      exec('git diff', (error, stdout, _stderr) => {\n        if (error) {\n          console.error(`error calling \\`git diff\\`: ${error}`);\n        } else {\n          console.log(`Git diff:\\n${stdout}`);\n        }\n        process.exit(1);\n      });\n    }\n  });\n}\n\nconst flavor = process.argv[2] || \"vanilla-js\";\n\nconst SAMPLE_APP_DIR = 'sample-apps';\nawait expandAppLiquidTemplates(SAMPLE_APP_DIR);\n\nconst DOMAINS = ['checkout', 'discounts', 'order-routing'];\nfor (const domain of DOMAINS) {\n  await expandExtensionLiquidTemplates(domain, flavor);\n}\n\nconsole.log('The above files should be added to .gitignore if they have not already been added.\\n');\n\nif (process.env.CI) {\n  ensureNoGitChanges();\n}\n"
  }
]