The Pickup Point Delivery Option Generator API enables you to generate custom pickup points available to buyers during checkout. The API includes three key objects: `Input`, `FunctionFetchResult` and `FunctionRunResult`.
## Extension targets
The Pickup Point Delivery Option Generator API exposes the following [targets](/docs/apps/build/app-extensions/configure-app-extensions#targets):
| Target | Output type | Description |
| ------ | ----------- | ----------- |
| `purchase.pickup-point-delivery-option-generator.fetch` | [FunctionFetchResult](/docs/api/functions/reference/pickup-point-delivery-option-generator/graphql/functionfetchresult) | See [Network access for Shopify Function](/docs/apps/build/functions/input-output/network-access) |
| `purchase.pickup-point-delivery-option-generator.run` | [FunctionRunResult](/docs/api/functions/reference/pickup-point-delivery-option-generator/graphql/functionfetchresult) | Outputs the list of validation errors |
## Fetch target
The fetch target is responsible for generating an HTTP request to call the external API.
### Example
The following example shows an input query:
### Input
The `Input` object is the complete schema that your function can receive as [input](/docs/apps/build/functions/input-output#input).
The following example shows an input query:
### Output
The following example shows the resulting input to the query:
The `FunctionFetchResult` object is the shape of the function's [output](/docs/apps/build/functions/input-output#output).
## Run target
The run target is responsible for generating the pickup point delivery options.
### Example
The following example shows an input query:
### Input
The `Input` object is the complete schema that your function can receive as [input](/docs/apps/build/functions/input-output#input).
The following example shows an input query:
### Output
The following example shows the resulting input to the query:
The `FunctionRunResult` object is the shape of the function's [output](/docs/apps/build/functions/input-output#output).