---
title: Delivery
description: |2-
The APIs for interacting with delivery and shipping options.
> > Tip: Not all extension targets implement all APIs. Check the documentation for the extension target you are using to see which APIs are available.
api_version: 2024-01
api_name: checkout-ui-extensions
source_url:
html: 'https://shopify.dev/docs/api/checkout-ui-extensions/2024-01/apis/delivery'
md: 'https://shopify.dev/docs/api/checkout-ui-extensions/2024-01/apis/delivery.md'
---
# Delivery
The APIs for interacting with delivery and shipping options.
**Tip:** \
\
\
\
\
Not all extension targets implement all APIs. Check the documentation for the extension target you are using to see which APIs are available.\
\
\
\
\
\ \
Not all extension targets implement all APIs. Check the documentation for the extension target you are using to see which APIs are available.\
\
\
\\Tip:\ Not all extension targets implement all APIs. Check the documentation for the extension target you are using to see which APIs are available.
## StandardApi
The base API object provided to `purchase`, and `customer-account.order-status` extension targets.
* **deliveryGroups**
**StatefulRemoteSubscribable\**
**required**
A list of delivery groups containing information about the delivery of the items the customer intends to purchase.
### DeliveryGroup
Represents the delivery information and options available for one or more cart lines.
* id
The unique identifier of the delivery group. On the Thank You page this value is undefined.
```ts
string
```
* targetedCartLines
The cart line references associated to the delivery group.
```ts
CartLineReference[]
```
* deliveryOptions
The delivery options available for the delivery group.
```ts
DeliveryOption[]
```
* selectedDeliveryOption
The selected delivery option for the delivery group.
```ts
DeliveryOptionReference
```
* groupType
The type of the delivery group.
```ts
DeliveryGroupType
```
* isDeliveryRequired
Whether delivery is required for the delivery group.
```ts
boolean
```
### CartLineReference
Represents a reference to a cart line.
* id
The unique identifier of the referenced cart line.
```ts
string
```
### DeliveryOption
```ts
ShippingOption | PickupPointOption | PickupLocationOption
```
### ShippingOption
Represents a delivery option that is a shipping option.
* type
The type of this delivery option.
```ts
"shipping" | "local"
```
* carrier
Information about the carrier.
```ts
ShippingOptionCarrier
```
* cost
The cost of the delivery.
```ts
Money
```
* costAfterDiscounts
The cost of the delivery including discounts.
```ts
Money
```
* deliveryEstimate
Information about the estimated delivery time.
```ts
DeliveryEstimate
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### ShippingOptionCarrier
* name
The name of the carrier.
```ts
string
```
### Money
* amount
The price amount.
```ts
number
```
* currencyCode
The ISO 4217 format for the currency.
```ts
CurrencyCode
```
### CurrencyCode
```ts
'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL'
```
### DeliveryEstimate
* timeInTransit
The estimated time in transit for the delivery in seconds.
```ts
NumberRange
```
### NumberRange
* lower
The lower bound of the number range.
```ts
number
```
* upper
The upper bound of the number range.
```ts
number
```
### PickupPointOption
* type
The type of this delivery option.
```ts
"pickupPoint"
```
* carrier
Information about the carrier that ships to the pickup point.
```ts
PickupPointCarrier
```
* cost
The cost to ship to this pickup point.
```ts
Money
```
* costAfterDiscounts
The cost to ship to this pickup point including discounts.
```ts
Money
```
* location
The location details of the pickup point.
```ts
PickupPointLocation
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### PickupPointCarrier
* code
The code identifying the carrier.
```ts
string
```
* name
The name of the carrier.
```ts
string
```
### PickupPointLocation
* name
The name of the pickup point.
```ts
string
```
* handle
The unique identifier of the pickup point.
```ts
string
```
* address
The address of the pickup point.
```ts
MailingAddress
```
### MailingAddress
* name
The buyer's full name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* firstName
The buyer's first name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* lastName
The buyer's last name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* company
The buyer's company name. {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* address1
The first line of the buyer's address, including street name and number. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* address2
The second line of the buyer's address, like apartment number, suite, etc. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* city
The buyer's city. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* zip
The buyer's postal or ZIP code. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* countryCode
The ISO 3166 Alpha-2 format for the buyer's country. Refer to https://www\.iso.org/iso-3166-country-codes.html. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
CountryCode
```
* provinceCode
The buyer's province code, such as state, province, prefecture, or region. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* phone
The buyer's phone number. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
### CountryCode
```ts
'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AR' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PS' | 'PT' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'ZZ'
```
### PickupLocationOption
* type
The type of this delivery option.
```ts
"pickup"
```
* location
The location details of the pickup location.
```ts
PickupLocation
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### PickupLocation
* name
The name of the pickup location.
```ts
string
```
* address
The address of the pickup location.
```ts
MailingAddress
```
### DeliveryOptionReference
Represents a reference to a delivery option.
* handle
The unique identifier of the referenced delivery option.
```ts
string
```
### DeliveryGroupType
The possible types of a delivery group.
```ts
'oneTimePurchase' | 'subscription'
```
## useDeliveryGroup(**[deliveryGroup](#usedeliverygroup-propertydetail-deliverygroup)**)
Returns the full expanded details of a delivery group and automatically re-renders your component when that delivery group changes.
### Parameters
* **deliveryGroup**
**DeliveryGroup**
**required**
### Returns
* **DeliveryGroupDetails**
### ### DeliveryGroupDetailsRepresents a DeliveryGroup with expanded reference fields and full details.
* **targetedCartLines**
**CartLine\[]**
The cart lines associated to the delivery group.
* **deliveryOptions**
**DeliveryOption\[]**
The delivery options available for the delivery group.
* **groupType**
**DeliveryGroupType**
The type of the delivery group.
* **isDeliveryRequired**
**boolean**
Whether delivery is required for the delivery group.
* **selectedDeliveryOption**
**DeliveryOption**
The selected delivery option for the delivery group.
* **id**
**string**
The unique identifier of the delivery group. On the Thank You page this value is undefined.
### DeliveryGroup
Represents the delivery information and options available for one or more cart lines.
* id
The unique identifier of the delivery group. On the Thank You page this value is undefined.
```ts
string
```
* targetedCartLines
The cart line references associated to the delivery group.
```ts
CartLineReference[]
```
* deliveryOptions
The delivery options available for the delivery group.
```ts
DeliveryOption[]
```
* selectedDeliveryOption
The selected delivery option for the delivery group.
```ts
DeliveryOptionReference
```
* groupType
The type of the delivery group.
```ts
DeliveryGroupType
```
* isDeliveryRequired
Whether delivery is required for the delivery group.
```ts
boolean
```
### CartLineReference
Represents a reference to a cart line.
* id
The unique identifier of the referenced cart line.
```ts
string
```
### DeliveryOption
```ts
ShippingOption | PickupPointOption | PickupLocationOption
```
### ShippingOption
Represents a delivery option that is a shipping option.
* type
The type of this delivery option.
```ts
"shipping" | "local"
```
* carrier
Information about the carrier.
```ts
ShippingOptionCarrier
```
* cost
The cost of the delivery.
```ts
Money
```
* costAfterDiscounts
The cost of the delivery including discounts.
```ts
Money
```
* deliveryEstimate
Information about the estimated delivery time.
```ts
DeliveryEstimate
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### ShippingOptionCarrier
* name
The name of the carrier.
```ts
string
```
### Money
* amount
The price amount.
```ts
number
```
* currencyCode
The ISO 4217 format for the currency.
```ts
CurrencyCode
```
### CurrencyCode
```ts
'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL'
```
### DeliveryEstimate
* timeInTransit
The estimated time in transit for the delivery in seconds.
```ts
NumberRange
```
### NumberRange
* lower
The lower bound of the number range.
```ts
number
```
* upper
The upper bound of the number range.
```ts
number
```
### PickupPointOption
* type
The type of this delivery option.
```ts
"pickupPoint"
```
* carrier
Information about the carrier that ships to the pickup point.
```ts
PickupPointCarrier
```
* cost
The cost to ship to this pickup point.
```ts
Money
```
* costAfterDiscounts
The cost to ship to this pickup point including discounts.
```ts
Money
```
* location
The location details of the pickup point.
```ts
PickupPointLocation
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### PickupPointCarrier
* code
The code identifying the carrier.
```ts
string
```
* name
The name of the carrier.
```ts
string
```
### PickupPointLocation
* name
The name of the pickup point.
```ts
string
```
* handle
The unique identifier of the pickup point.
```ts
string
```
* address
The address of the pickup point.
```ts
MailingAddress
```
### MailingAddress
* name
The buyer's full name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* firstName
The buyer's first name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* lastName
The buyer's last name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* company
The buyer's company name. {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* address1
The first line of the buyer's address, including street name and number. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* address2
The second line of the buyer's address, like apartment number, suite, etc. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* city
The buyer's city. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* zip
The buyer's postal or ZIP code. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* countryCode
The ISO 3166 Alpha-2 format for the buyer's country. Refer to https://www\.iso.org/iso-3166-country-codes.html. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
CountryCode
```
* provinceCode
The buyer's province code, such as state, province, prefecture, or region. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* phone
The buyer's phone number. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
### CountryCode
```ts
'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AR' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PS' | 'PT' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'ZZ'
```
### PickupLocationOption
* type
The type of this delivery option.
```ts
"pickup"
```
* location
The location details of the pickup location.
```ts
PickupLocation
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### PickupLocation
* name
The name of the pickup location.
```ts
string
```
* address
The address of the pickup location.
```ts
MailingAddress
```
### DeliveryOptionReference
Represents a reference to a delivery option.
* handle
The unique identifier of the referenced delivery option.
```ts
string
```
### DeliveryGroupType
The possible types of a delivery group.
```ts
'oneTimePurchase' | 'subscription'
```
### DeliveryGroupDetails
Represents a DeliveryGroup with expanded reference fields and full details.
* selectedDeliveryOption
The selected delivery option for the delivery group.
```ts
DeliveryOption
```
* targetedCartLines
The cart lines associated to the delivery group.
```ts
CartLine[]
```
* id
The unique identifier of the delivery group. On the Thank You page this value is undefined.
```ts
string
```
* deliveryOptions
The delivery options available for the delivery group.
```ts
DeliveryOption[]
```
* groupType
The type of the delivery group.
```ts
DeliveryGroupType
```
* isDeliveryRequired
Whether delivery is required for the delivery group.
```ts
boolean
```
### CartLine
* id
These line item IDs are not stable at the moment, they might change after any operations on the line items. You should always look up for an updated ID before any call to \`applyCartLinesChange\` because you'll need the ID to create a \`CartLineChange\` object.
```ts
string
```
* merchandise
The merchandise being purchased.
```ts
Merchandise
```
* quantity
The quantity of the merchandise being purchased.
```ts
number
```
* cost
The details about the cost components attributed to the cart line.
```ts
CartLineCost
```
* attributes
The line item additional custom attributes.
```ts
Attribute[]
```
* discountAllocations
Discounts applied to the cart line.
```ts
CartDiscountAllocation[]
```
* lineComponents
Sub lines of the merchandise line. If no sub lines are present, this will be an empty array.
```ts
CartBundleLineComponent[]
```
### Merchandise
* type
```ts
"variant"
```
* id
A globally-unique identifier.
```ts
string
```
* title
The product variant’s title.
```ts
string
```
* subtitle
The product variant's subtitle.
```ts
string
```
* image
Image associated with the product variant. This field falls back to the product image if no image is available.
```ts
ImageDetails
```
* selectedOptions
List of product options applied to the variant.
```ts
SelectedOption[]
```
* product
The product object that the product variant belongs to.
```ts
Product
```
* requiresShipping
Whether or not the product requires shipping.
```ts
boolean
```
* sellingPlan
The selling plan associated with the merchandise.
```ts
SellingPlan
```
### ImageDetails
* url
The image URL.
```ts
string
```
* altText
The alternative text for the image.
```ts
string
```
### SelectedOption
* name
The name of the merchandise option.
```ts
string
```
* value
The value of the merchandise option.
```ts
string
```
### Product
* id
A globally-unique identifier.
```ts
string
```
* vendor
The product’s vendor name.
```ts
string
```
* productType
A categorization that a product can be tagged with, commonly used for filtering and searching.
```ts
string
```
### SellingPlan
* id
A globally-unique identifier.
```ts
string
```
### CartLineCost
* totalAmount
The total amount after reductions the buyer can expect to pay that is directly attributable to a single cart line.
```ts
Money
```
### Attribute
* key
The key for the attribute.
```ts
string
```
* value
The value for the attribute.
```ts
string
```
### CartDiscountAllocation
```ts
CartCodeDiscountAllocation | CartAutomaticDiscountAllocation | CartCustomDiscountAllocation
```
### CartCodeDiscountAllocation
* code
The code for the discount
```ts
string
```
* type
The type of the code discount
```ts
"code"
```
* discountedAmount
The money amount that has been discounted from the order
```ts
Money
```
### CartAutomaticDiscountAllocation
* title
The title of the automatic discount
```ts
string
```
* type
The type of the automatic discount
```ts
"automatic"
```
* discountedAmount
The money amount that has been discounted from the order
```ts
Money
```
### CartCustomDiscountAllocation
* title
The title of the custom discount
```ts
string
```
* type
The type of the custom discount
```ts
"custom"
```
* discountedAmount
The money amount that has been discounted from the order
```ts
Money
```
### CartBundleLineComponent
* type
```ts
"bundle"
```
* id
A unique identifier for the bundle line component. This ID is not stable. If an operation updates the line items in any way, all IDs could change.
```ts
string
```
* merchandise
The merchandise of this bundle line component.
```ts
Merchandise
```
* quantity
The quantity of merchandise being purchased.
```ts
number
```
* cost
The cost attributed to this bundle line component.
```ts
CartLineCost
```
* attributes
Additional custom attributes for the bundle line component.
```ts
Attribute[]
```
## useDeliveryGroups()
Returns the current delivery groups for the checkout, and automatically re-renders your component when delivery address or delivery option selection changes.
### Returns
* **DeliveryGroup\[]**
### DeliveryGroup
Represents the delivery information and options available for one or more cart lines.
* id
The unique identifier of the delivery group. On the Thank You page this value is undefined.
```ts
string
```
* targetedCartLines
The cart line references associated to the delivery group.
```ts
CartLineReference[]
```
* deliveryOptions
The delivery options available for the delivery group.
```ts
DeliveryOption[]
```
* selectedDeliveryOption
The selected delivery option for the delivery group.
```ts
DeliveryOptionReference
```
* groupType
The type of the delivery group.
```ts
DeliveryGroupType
```
* isDeliveryRequired
Whether delivery is required for the delivery group.
```ts
boolean
```
### CartLineReference
Represents a reference to a cart line.
* id
The unique identifier of the referenced cart line.
```ts
string
```
### DeliveryOption
```ts
ShippingOption | PickupPointOption | PickupLocationOption
```
### ShippingOption
Represents a delivery option that is a shipping option.
* type
The type of this delivery option.
```ts
"shipping" | "local"
```
* carrier
Information about the carrier.
```ts
ShippingOptionCarrier
```
* cost
The cost of the delivery.
```ts
Money
```
* costAfterDiscounts
The cost of the delivery including discounts.
```ts
Money
```
* deliveryEstimate
Information about the estimated delivery time.
```ts
DeliveryEstimate
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### ShippingOptionCarrier
* name
The name of the carrier.
```ts
string
```
### Money
* amount
The price amount.
```ts
number
```
* currencyCode
The ISO 4217 format for the currency.
```ts
CurrencyCode
```
### CurrencyCode
```ts
'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL'
```
### DeliveryEstimate
* timeInTransit
The estimated time in transit for the delivery in seconds.
```ts
NumberRange
```
### NumberRange
* lower
The lower bound of the number range.
```ts
number
```
* upper
The upper bound of the number range.
```ts
number
```
### PickupPointOption
* type
The type of this delivery option.
```ts
"pickupPoint"
```
* carrier
Information about the carrier that ships to the pickup point.
```ts
PickupPointCarrier
```
* cost
The cost to ship to this pickup point.
```ts
Money
```
* costAfterDiscounts
The cost to ship to this pickup point including discounts.
```ts
Money
```
* location
The location details of the pickup point.
```ts
PickupPointLocation
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### PickupPointCarrier
* code
The code identifying the carrier.
```ts
string
```
* name
The name of the carrier.
```ts
string
```
### PickupPointLocation
* name
The name of the pickup point.
```ts
string
```
* handle
The unique identifier of the pickup point.
```ts
string
```
* address
The address of the pickup point.
```ts
MailingAddress
```
### MailingAddress
* name
The buyer's full name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* firstName
The buyer's first name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* lastName
The buyer's last name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* company
The buyer's company name. {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* address1
The first line of the buyer's address, including street name and number. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* address2
The second line of the buyer's address, like apartment number, suite, etc. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* city
The buyer's city. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* zip
The buyer's postal or ZIP code. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* countryCode
The ISO 3166 Alpha-2 format for the buyer's country. Refer to https://www\.iso.org/iso-3166-country-codes.html. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
CountryCode
```
* provinceCode
The buyer's province code, such as state, province, prefecture, or region. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* phone
The buyer's phone number. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
### CountryCode
```ts
'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AR' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PS' | 'PT' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'ZZ'
```
### PickupLocationOption
* type
The type of this delivery option.
```ts
"pickup"
```
* location
The location details of the pickup location.
```ts
PickupLocation
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### PickupLocation
* name
The name of the pickup location.
```ts
string
```
* address
The address of the pickup location.
```ts
MailingAddress
```
### DeliveryOptionReference
Represents a reference to a delivery option.
* handle
The unique identifier of the referenced delivery option.
```ts
string
```
### DeliveryGroupType
The possible types of a delivery group.
```ts
'oneTimePurchase' | 'subscription'
```
## Shipping Option
This API object is provided to extensions registered for the `purchase.checkout.shipping-option-item.render-after` and `purchase.checkout.shipping-option-item.details.render` extension targets.
* **target**
**StatefulRemoteSubscribable\**
**required**
The shipping option the extension is attached to.
* **isTargetSelected**
**StatefulRemoteSubscribable\**
**required**
Whether the shipping option the extension is attached to is currently selected in the UI.
### ShippingOption
Represents a delivery option that is a shipping option.
* type
The type of this delivery option.
```ts
"shipping" | "local"
```
* carrier
Information about the carrier.
```ts
ShippingOptionCarrier
```
* cost
The cost of the delivery.
```ts
Money
```
* costAfterDiscounts
The cost of the delivery including discounts.
```ts
Money
```
* deliveryEstimate
Information about the estimated delivery time.
```ts
DeliveryEstimate
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### ShippingOptionCarrier
* name
The name of the carrier.
```ts
string
```
### Money
* amount
The price amount.
```ts
number
```
* currencyCode
The ISO 4217 format for the currency.
```ts
CurrencyCode
```
### CurrencyCode
```ts
'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL'
```
### DeliveryEstimate
* timeInTransit
The estimated time in transit for the delivery in seconds.
```ts
NumberRange
```
### NumberRange
* lower
The lower bound of the number range.
```ts
number
```
* upper
The upper bound of the number range.
```ts
number
```
## useShippingOptionTarget()
Returns the shipping option for the `purchase.checkout.shipping-option-item.render-after` and `purchase.checkout.shipping-option-item.details.render` attached extensions
### Returns
* **{ shippingOptionTarget: ShippingOption; isTargetSelected: boolean; }**
### ShippingOption
Represents a delivery option that is a shipping option.
* type
The type of this delivery option.
```ts
"shipping" | "local"
```
* carrier
Information about the carrier.
```ts
ShippingOptionCarrier
```
* cost
The cost of the delivery.
```ts
Money
```
* costAfterDiscounts
The cost of the delivery including discounts.
```ts
Money
```
* deliveryEstimate
Information about the estimated delivery time.
```ts
DeliveryEstimate
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### ShippingOptionCarrier
* name
The name of the carrier.
```ts
string
```
### Money
* amount
The price amount.
```ts
number
```
* currencyCode
The ISO 4217 format for the currency.
```ts
CurrencyCode
```
### CurrencyCode
```ts
'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL'
```
### DeliveryEstimate
* timeInTransit
The estimated time in transit for the delivery in seconds.
```ts
NumberRange
```
### NumberRange
* lower
The lower bound of the number range.
```ts
number
```
* upper
The upper bound of the number range.
```ts
number
```
## ShippingOptionListApi
This API object is provided to extensions registered for the `purchase.checkout.shipping-option-list.render-before` and `purchase.checkout.shipping-option-list.render-after` extension targets.
* **target**
**StatefulRemoteSubscribable\**
**required**
The delivery group the extension is attached to. The target will be undefined if the group is not available.
### DeliveryGroup
Represents the delivery information and options available for one or more cart lines.
* id
The unique identifier of the delivery group. On the Thank You page this value is undefined.
```ts
string
```
* targetedCartLines
The cart line references associated to the delivery group.
```ts
CartLineReference[]
```
* deliveryOptions
The delivery options available for the delivery group.
```ts
DeliveryOption[]
```
* selectedDeliveryOption
The selected delivery option for the delivery group.
```ts
DeliveryOptionReference
```
* groupType
The type of the delivery group.
```ts
DeliveryGroupType
```
* isDeliveryRequired
Whether delivery is required for the delivery group.
```ts
boolean
```
### CartLineReference
Represents a reference to a cart line.
* id
The unique identifier of the referenced cart line.
```ts
string
```
### DeliveryOption
```ts
ShippingOption | PickupPointOption | PickupLocationOption
```
### ShippingOption
Represents a delivery option that is a shipping option.
* type
The type of this delivery option.
```ts
"shipping" | "local"
```
* carrier
Information about the carrier.
```ts
ShippingOptionCarrier
```
* cost
The cost of the delivery.
```ts
Money
```
* costAfterDiscounts
The cost of the delivery including discounts.
```ts
Money
```
* deliveryEstimate
Information about the estimated delivery time.
```ts
DeliveryEstimate
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### ShippingOptionCarrier
* name
The name of the carrier.
```ts
string
```
### Money
* amount
The price amount.
```ts
number
```
* currencyCode
The ISO 4217 format for the currency.
```ts
CurrencyCode
```
### CurrencyCode
```ts
'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL'
```
### DeliveryEstimate
* timeInTransit
The estimated time in transit for the delivery in seconds.
```ts
NumberRange
```
### NumberRange
* lower
The lower bound of the number range.
```ts
number
```
* upper
The upper bound of the number range.
```ts
number
```
### PickupPointOption
* type
The type of this delivery option.
```ts
"pickupPoint"
```
* carrier
Information about the carrier that ships to the pickup point.
```ts
PickupPointCarrier
```
* cost
The cost to ship to this pickup point.
```ts
Money
```
* costAfterDiscounts
The cost to ship to this pickup point including discounts.
```ts
Money
```
* location
The location details of the pickup point.
```ts
PickupPointLocation
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### PickupPointCarrier
* code
The code identifying the carrier.
```ts
string
```
* name
The name of the carrier.
```ts
string
```
### PickupPointLocation
* name
The name of the pickup point.
```ts
string
```
* handle
The unique identifier of the pickup point.
```ts
string
```
* address
The address of the pickup point.
```ts
MailingAddress
```
### MailingAddress
* name
The buyer's full name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* firstName
The buyer's first name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* lastName
The buyer's last name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* company
The buyer's company name. {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* address1
The first line of the buyer's address, including street name and number. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* address2
The second line of the buyer's address, like apartment number, suite, etc. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* city
The buyer's city. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* zip
The buyer's postal or ZIP code. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* countryCode
The ISO 3166 Alpha-2 format for the buyer's country. Refer to https://www\.iso.org/iso-3166-country-codes.html. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
CountryCode
```
* provinceCode
The buyer's province code, such as state, province, prefecture, or region. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* phone
The buyer's phone number. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
### CountryCode
```ts
'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AR' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PS' | 'PT' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'ZZ'
```
### PickupLocationOption
* type
The type of this delivery option.
```ts
"pickup"
```
* location
The location details of the pickup location.
```ts
PickupLocation
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### PickupLocation
* name
The name of the pickup location.
```ts
string
```
* address
The address of the pickup location.
```ts
MailingAddress
```
### DeliveryOptionReference
Represents a reference to a delivery option.
* handle
The unique identifier of the referenced delivery option.
```ts
string
```
### DeliveryGroupType
The possible types of a delivery group.
```ts
'oneTimePurchase' | 'subscription'
```
## useDeliveryGroupTarget()
Returns the delivery group for the `purchase.checkout.shipping-option-list.render-before` and `purchase.checkout.shipping-option-list.render-after` attached extensions.
### Returns
* **DeliveryGroup | undefined**
### DeliveryGroup
Represents the delivery information and options available for one or more cart lines.
* id
The unique identifier of the delivery group. On the Thank You page this value is undefined.
```ts
string
```
* targetedCartLines
The cart line references associated to the delivery group.
```ts
CartLineReference[]
```
* deliveryOptions
The delivery options available for the delivery group.
```ts
DeliveryOption[]
```
* selectedDeliveryOption
The selected delivery option for the delivery group.
```ts
DeliveryOptionReference
```
* groupType
The type of the delivery group.
```ts
DeliveryGroupType
```
* isDeliveryRequired
Whether delivery is required for the delivery group.
```ts
boolean
```
### CartLineReference
Represents a reference to a cart line.
* id
The unique identifier of the referenced cart line.
```ts
string
```
### DeliveryOption
```ts
ShippingOption | PickupPointOption | PickupLocationOption
```
### ShippingOption
Represents a delivery option that is a shipping option.
* type
The type of this delivery option.
```ts
"shipping" | "local"
```
* carrier
Information about the carrier.
```ts
ShippingOptionCarrier
```
* cost
The cost of the delivery.
```ts
Money
```
* costAfterDiscounts
The cost of the delivery including discounts.
```ts
Money
```
* deliveryEstimate
Information about the estimated delivery time.
```ts
DeliveryEstimate
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### ShippingOptionCarrier
* name
The name of the carrier.
```ts
string
```
### Money
* amount
The price amount.
```ts
number
```
* currencyCode
The ISO 4217 format for the currency.
```ts
CurrencyCode
```
### CurrencyCode
```ts
'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL'
```
### DeliveryEstimate
* timeInTransit
The estimated time in transit for the delivery in seconds.
```ts
NumberRange
```
### NumberRange
* lower
The lower bound of the number range.
```ts
number
```
* upper
The upper bound of the number range.
```ts
number
```
### PickupPointOption
* type
The type of this delivery option.
```ts
"pickupPoint"
```
* carrier
Information about the carrier that ships to the pickup point.
```ts
PickupPointCarrier
```
* cost
The cost to ship to this pickup point.
```ts
Money
```
* costAfterDiscounts
The cost to ship to this pickup point including discounts.
```ts
Money
```
* location
The location details of the pickup point.
```ts
PickupPointLocation
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### PickupPointCarrier
* code
The code identifying the carrier.
```ts
string
```
* name
The name of the carrier.
```ts
string
```
### PickupPointLocation
* name
The name of the pickup point.
```ts
string
```
* handle
The unique identifier of the pickup point.
```ts
string
```
* address
The address of the pickup point.
```ts
MailingAddress
```
### MailingAddress
* name
The buyer's full name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* firstName
The buyer's first name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* lastName
The buyer's last name. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* company
The buyer's company name. {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* address1
The first line of the buyer's address, including street name and number. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* address2
The second line of the buyer's address, like apartment number, suite, etc. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* city
The buyer's city. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* zip
The buyer's postal or ZIP code. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* countryCode
The ISO 3166 Alpha-2 format for the buyer's country. Refer to https://www\.iso.org/iso-3166-country-codes.html. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
CountryCode
```
* provinceCode
The buyer's province code, such as state, province, prefecture, or region. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
* phone
The buyer's phone number. {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data).
```ts
string
```
### CountryCode
```ts
'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AR' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PS' | 'PT' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'ZZ'
```
### PickupLocationOption
* type
The type of this delivery option.
```ts
"pickup"
```
* location
The location details of the pickup location.
```ts
PickupLocation
```
* handle
The unique identifier of the delivery option.
```ts
string
```
* title
The title of the delivery option.
```ts
string
```
* description
The description of the delivery option.
```ts
string
```
* code
The code of the delivery option.
```ts
string
```
### PickupLocation
* name
The name of the pickup location.
```ts
string
```
* address
The address of the pickup location.
```ts
MailingAddress
```
### DeliveryOptionReference
Represents a reference to a delivery option.
* handle
The unique identifier of the referenced delivery option.
```ts
string
```
### DeliveryGroupType
The possible types of a delivery group.
```ts
'oneTimePurchase' | 'subscription'
```
## PickupPointListApi
This API object is provided to extensions registered for the `purchase.checkout.pickup-point-list.render-after` and `purchase.checkout.pickup-point-list.render-after` extension target.
* **isLocationFormVisible**
**StatefulRemoteSubscribable\**
**required**
Whether the customer location input form is shown to the buyer.
## PickupLocationListApi
This API object is provided to extensions registered for the `purchase.checkout.pickup-location-list.render-after` and `purchase.checkout.pickup-location-list.render-after` extension target.
* **isLocationFormVisible**
**StatefulRemoteSubscribable\**
**required**
Whether the customer location input form is shown to the buyer.
Examples
### Examples
* #### Delivery group
##### React
```jsx
import {
reactExtension,
Banner,
useDeliveryGroups,
useDeliveryGroup,
} from '@shopify/ui-extensions-react/checkout';
export default reactExtension(
'purchase.checkout.block.render',
() => ,
);
function Extension() {
const deliveryGroups = useDeliveryGroups();
const {
selectedDeliveryOption,
targetedCartLines,
} = useDeliveryGroup(deliveryGroups[0]);
return (
Selected delivery option:{' '}
{selectedDeliveryOption?.title}
);
}
```
* #### Reading the selected shipping option
##### React
```jsx
import {
reactExtension,
Text,
useSubscription,
useShippingOptionTarget,
} from '@shopify/ui-extensions-react/checkout';
export default reactExtension(
'purchase.checkout.shipping-option-item.render-after',
() => ,
);
function Extension() {
const {shippingOptionTarget, isTargetSelected} =
useShippingOptionTarget();
const title = shippingOptionTarget.title;
return (
Shipping method: {title} is{' '}
{isTargetSelected ? '' : 'not'} selected.
);
}
```
##### JavaScript
```js
import {extension} from '@shopify/ui-extensions/checkout';
export default extension(
'purchase.checkout.shipping-option-item.render-after',
(root, {target, isTargetSelected}) => {
const titleText = root.createText(
`Shipping method title: ${target.current.title}`,
);
root.appendChild(titleText);
target.subscribe((updatedTarget) => {
titleText.updateText(
`Shipping method title: ${updatedTarget.title}`,
);
});
const selectedText = root.createText(
getSelectedText(isTargetSelected),
);
root.appendChild(selectedText);
isTargetSelected.subscribe(
(updatedSelected) => {
selectedText.updateText(
getSelectedText(updatedSelected),
);
},
);
function getSelectedText(selected) {
return selected
? 'Selected'
: 'Not selected';
}
},
);
```
* #### Determine if the location input form is shown
##### React
```jsx
import {
reactExtension,
useApi,
useSubscription,
Text,
} from '@shopify/ui-extensions-react/checkout';
export default reactExtension(
'purchase.checkout.pickup-point-list.render-before',
() => ,
);
function Extension() {
const {isLocationFormVisible} =
useApi<'purchase.checkout.pickup-point-list.render-before'>();
const locationFormShown = useSubscription(
isLocationFormVisible,
);
if (locationFormShown) {
return (
The customer is being asked to provide
their location.
);
} else {
return (
Pickup points are being shown.
);
}
}
```
##### JavaScript
```js
import {extension} from '@shopify/ui-extensions/checkout';
export default extension(
'purchase.checkout.pickup-point-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 points are being shown.';
}
}
},
);
```
* #### Delivery groups
##### React
```jsx
import {
reactExtension,
Banner,
useDeliveryGroups,
} from '@shopify/ui-extensions-react/checkout';
export default reactExtension(
'purchase.checkout.block.render',
() => ,
);
function Extension() {
const deliveryGroups = useDeliveryGroups();
const deliveryOptions =
deliveryGroups[0].deliveryOptions;
return (
First delivery option:{' '}
{deliveryOptions[0].title}
);
}
```
## Related
[Reference - Targets](https://shopify.dev/docs/api/checkout-ui-extensions/targets)
[Reference - Components](https://shopify.dev/docs/api/checkout-ui-extensions/components)
[Reference - Configuration](https://shopify.dev/docs/api/checkout-ui-extensions/configuration)
[Learn - Tutorials](https://shopify.dev/apps/checkout)