You can use location rules to rank the possible locations for a line item during checkout. In this tutorial series, you'll use [Shopify Functions](/docs/apps/build/functions) to create a function that prioritizes locations in a particular country defined by the user.

> Beta:
> Location rules is a new feature that's only available by request. Reach out to [Shopify Plus Support](https://help.shopify.com/en/support/plus) to know more about your eligibility and the requirements for the beta program.


## What you'll learn

In this tutorial series, you’ll learn how to do the following tasks:

- Set up your environment to use functions.
- Create a location rule function.
- Add configuration options to your location rule function using metafields.
- Build a location rule user interface using [Admin UI extensions](/docs/api/admin-extensions).

## Requirements

> Shopify Plus:
> Only stores on the [Shopify Plus](https://www.shopify.com/plus) plan can use custom order routing location rules.



- You've created a [Partner account](https://www.shopify.com/partners).
- You've created a [development store](/docs/api/development-stores#create-a-development-store-to-test-your-app).
- You've [created an app that uses Shopify CLI 3.49.5 or higher](/docs/apps/build/scaffold-app). If you previously installed Shopify CLI, then make sure that you're using the [latest version](/docs/api/shopify-cli#upgrade).
  
    Start with the [Remix app template](/docs/api#app-templates) if you plan to make your location rule configurable and create a UI for it. Otherwise, start with an [extension-only app](/docs/apps/build/app-extensions/build-extension-only-app) and let Shopify host it for you.
  
  
- You've installed [Node.js](https://nodejs.org/en/download) 16 or higher.
- You've [installed your app](/docs/apps/build/scaffold-app#step-3-install-your-app-on-your-development-store) on the development store.




### Rust-specific requirements

The following requirements are specific to Rust-based development with Shopify Functions.

- You've installed [Rust](https://www.rust-lang.org/tools/install).

    On Windows, Rust requires the [Microsoft C++ Build Tools](https://docs.microsoft.com/en-us/windows/dev-environment/rust/setup). Make sure to select the **Desktop development with C++** workload when installing the tools.

- You've installed the [`wasm32-wasip1` target](https://doc.rust-lang.org/rustc/platform-support/wasm32-wasip1.html):

    <p>
    <div class="react-code-block" data-preset="terminal">
    <div class="react-code-block-preload ThemeMode-dim">
    <div class="react-code-block-preload-bar "></div>
    <div class="react-code-block-preload-placeholder-container">
    <div class="react-code-block-preload-code-container">
    <div class="react-code-block-preload-codeline-number"></div>
    <div class="react-code-block-preload-codeline"></div>
    </div>

    </div>
    </div>


    <script type="text/plain" data-language="bash">
    RAW_MD_CONTENTrustup target add wasm32-wasip1
    END_RAW_MD_CONTENT</script>

    </div>
    </p>




## Tutorials

Follow the tutorial series to go from "Hello World" to a functional location rules experience.

<div class="resource-card-grid">
  <div>
  <a class="resource-card" href="/docs/apps/build/orders-fulfillment/order-routing-apps/location-rules/build-location-rule-function" data-theme-mode="">
    <div class="resource-card__indicator-container"><img
     src="/assets/resource-cards/globe"
     data-alt-src="/assets/resource-cards/globe-dark"
     aria-hidden="true"
     class="resource-card__icon themed-image"></div>
    <h3 class="resource-card__title">
      Tutorial 1: Getting started with building location rules
    </h3>
    <p class="resource-card__description">Create a new location rule function.</p>
  </a>
</div>

<div>
  <a class="resource-card" href="/docs/apps/build/orders-fulfillment/order-routing-apps/location-rules/add-configuration" data-theme-mode="">
    <div class="resource-card__indicator-container"><img
     src="/assets/resource-cards/gear"
     data-alt-src="/assets/resource-cards/gear-dark"
     aria-hidden="true"
     class="resource-card__icon themed-image"></div>
    <h3 class="resource-card__title">
      Tutorial 2: Make your location rule function configurable
    </h3>
    <p class="resource-card__description">Add configuration to your location rule function using metafields.</p>
  </a>
</div>

<div>
  <a class="resource-card" href="/docs/apps/build/orders-fulfillment/order-routing-apps/location-rules/build-ui" data-theme-mode="">
    <div class="resource-card__indicator-container"><img
     src="/assets/resource-cards/blocks"
     data-alt-src="/assets/resource-cards/blocks-dark"
     aria-hidden="true"
     class="resource-card__icon themed-image"></div>
    <h3 class="resource-card__title">
      Tutorial 3: Build a location rule user interface
    </h3>
    <p class="resource-card__description">Build a new page in your app where merchants can view location rules.</p>
  </a>
</div>

</div>


## Developer tools and resources

Explore the following developer tools and resources to get familiar with building location rules.

<div class="resource-card-grid">
  <div>
  <a class="resource-card" href="/docs/api/functions/reference/order-routing-location-rule" data-theme-mode="">
    <div class="resource-card__indicator-container"><img
     src="/assets/resource-cards/graphql"
     data-alt-src="/assets/resource-cards/graphql-dark"
     aria-hidden="true"
     class="resource-card__icon themed-image"></div>
    <h3 class="resource-card__title">
      Order Routing Location Rule API reference
    </h3>
    <p class="resource-card__description">Consult the GraphQL reference for the Order Routing Location Rule API.</p>
  </a>
</div></p>

<p><div>
  <a class="resource-card" href="/docs/apps/build/functions/programming-languages" data-theme-mode="">
    <div class="resource-card__indicator-container"><img
     src="/assets/resource-cards/javascript"
     data-alt-src="/assets/resource-cards/javascript-dark"
     aria-hidden="true"
     class="resource-card__icon themed-image"></div>
    <h3 class="resource-card__title">
      Language support
    </h3>
    <p class="resource-card__description">Learn about the language support and tooling that are available in Shopify Functions.</p>
  </a>
</div>
</div>