--- title: PickupLocationListApi description: > This API object is provided to extensions registered for the `purchase.checkout.pickup-location-list.render-before` or `purchase.checkout.pickup-location-list.render-after` extension targets. It extends the [`StandardApi`](/docs/api/checkout-ui-extensions/apis/standardapi) and provides a [`isLocationFormVisible`](#properties-propertydetail-islocationformvisible) boolean to indicate whether the customer location input form is currently rendered and shown to the buyer. api_version: 2023-07 api_name: checkout-ui-extensions source_url: html: >- https://shopify.dev/docs/api/checkout-ui-extensions/2023-07/apis/pickuplocationlistapi md: >- https://shopify.dev/docs/api/checkout-ui-extensions/2023-07/apis/pickuplocationlistapi.md --- # Pickup​Location​List​Api **Requires access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data) for some properties.:** This API object is provided to extensions registered for the `purchase.checkout.pickup-location-list.render-before` or `purchase.checkout.pickup-location-list.render-after` extension targets. It extends the [`StandardApi`](https://shopify.dev/docs/api/checkout-ui-extensions/apis/standardapi) and provides a [`isLocationFormVisible`](#properties-propertydetail-islocationformvisible) boolean to indicate whether the customer location input form is currently rendered and shown to the buyer. ## Properties See the [StandardApi examples](https://shopify.dev/docs/api/checkout-ui-extensions/apis/standardapi#examples) for more information on how to use the API. * **isLocationFormVisible** **StatefulRemoteSubscribable\** **required** Whether the customer location input form is shown to the buyer. Examples ### Examples * #### ##### React ```jsx import { reactExtension, useApi, useSubscription, Text, } from '@shopify/ui-extensions-react/checkout'; export default reactExtension( 'purchase.checkout.pickup-location-list.render-before', () => , ); function Extension() { const {isLocationFormVisible} = useApi<'purchase.checkout.pickup-location-list.render-before'>(); const locationFormShown = useSubscription( isLocationFormVisible, ); if (locationFormShown) { return ( The customer is being asked to provide their location. ); } else { return ( Pickup locations are being shown. ); } } ``` ##### JavaScript ```js import {extension} from '@shopify/ui-extensions/checkout'; export default extension( 'purchase.checkout.pickup-location-list.render-before', (root, {isLocationFormVisible}) => { const content = root.createText( getTextContent( isLocationFormVisible.current, ), ); root.appendChild(content); isLocationFormVisible.subscribe( (updatedLocationFormVisible) => { content.updateText( getTextContent( updatedLocationFormVisible, ), ); }, ); function getTextContent( isLocationFormVisible, ) { if (isLocationFormVisible) { return 'The customer is being asked to provide their location.'; } else { return 'Pickup locations are being shown.'; } } }, ); ``` ## Related [APIs - StandardApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/standardapi) [APIs - CheckoutApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/checkoutapi) [APIs - OrderStatusApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/orderstatusapi) [APIs - CartLineItemApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/cartlineitemapi) [APIs - PickupPointListApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/pickuppointlistapi) [APIs - ShippingOptionItemApi](https://shopify.dev/docs/api/checkout-ui-extensions/apis/shippingoptionitemapi) [APIs - ExtensionTargets](https://shopify.dev/docs/api/checkout-ui-extensions/apis/extensiontargets)