# Fulfillment and returns data mapping for OpenAI Understand how fulfillment and returns data maps to OpenAI fields. ## Fulfillment | OpenAI Field | Related commercetools field | Required | Mapping Logic | | --- | --- | --- | --- | | `shipping` | Use [Reference Expansion](/api/general-concepts.md#reference-expansion) on `shippingMethod.zoneRates[*].zone`.Join `shippingMethod.zoneRates[*].zone.country` : `shippingMethod.zoneRates[*].zone.locations.state` : `shippingMethod.name` : `shippingMethod.zoneRates[*].shippingRate.price` | Conditional | The country, state/region, localized name of shipping method, and price. These values must be mapped to `country:region:service_class:price`.For example: `US:TX:Overnight:16.00 USD`. Multiple shipping methods can be included by separating them with semicolons. | ## Returns By default, `return_policy` and `return_window` are mapped from [Custom Fields](/api/projects/custom-fields.md) on the [Store](/urn?urn=ctp%3Aapi%3Atype%3AStore). The `returnPolicyUrl` field should be a [CustomFieldStringType](/urn?urn=ctp%3Aapi%3Atype%3ACustomFieldStringType) and the `returnWindowDays` field should be a [CustomFieldNumberType](/urn?urn=ctp%3Aapi%3Atype%3ACustomFieldNumberType). You can modify the template to source these values differently. | OpenAI Field | Related commercetools field | Required | Mapping Logic | | --- | --- | --- | --- | | `return_policy` | `store.custom.fields.returnPolicyUrl` | Required in the feed | A direct link to the return policy page.For example: `https://example.com/returns`. | | `return_window` | `store.custom.fields.returnWindowDays` | Required in the feed | The number of days that the customer has to return the item. For example: `30`. | ## Related pages - [Area overview page with navigation](/agentic-commerce.md)