iPaaS.com mapping changes to support Buy-online Store Pickup are as follows:
Register 2 custom fields in your iPaaS.com catalog
Field 1: Add the first field to the Transaction Line CollectionType named "Pickup Store". This will hold the location entered by the user during item selection and checkout. This field will also need to be mapped in any dependent systems.
Optional Field 2: Optionally add the second field to the Customer CollectionType named "Pickup Store". This will store the default pickup store chosen by the customer and saved in the BigCommerce customer profile. This field will also need to be mapped in any dependent systems.
Register 2 custom fields on your iPaaS.com BigCommerce subscription
Field 1: Add the first field to the Product CollectionType named pickup_enabled
Field 2: Add the second field to the Transaction Line CollectionType named PickupLocationId
Create the following Mapping changes in your iPaaS.com BigCommerce subscription
MappingCollection: BC Products
Direction: From iPaaS
System: BigCommerce
Add a Mapping to tell BigCommerce whether items are enabled for Pickup InStore.
Source: Use a field, formula or static value using your iPaaS.com and origin systems data and map normally.
Destination: The Custom Product Field named pickup_enabled. Possible values are: true, false
MappingCollection: BC Customer
Direction: To iPaaS
System: BigCommerce
Add a Mapping for the preferred Pickup Location chosen by the Customer during signup.
Source: Configure as a dynamic mapping using the following formula:
FieldFromFirstMatch(FormFields, "Name=\"Pickup Store\"", "Value")
Destination: Choose the iPaaS.com custom field named "Pickup Store"
MappingCollection: BC Transaction Lines
Direction: To iPaaS
System: BigCommerce
Add a Mapping for the selected Pickup Location and translate normally to your chosen iPaaS.com destination.
Source: Configure as a dynamic mapping using the following formula:
FieldFromFirstMatch(ProductOptions, "Name = \"Pickup In Store\"", "Value")
Destination: Choose the iPaaS.com custom field named "Pickup Store"
The OptionId is the BigCommerce OptionId. This will be static for each install.
Below is a sample output from a BigCommerce Transaction Line having a product_option for the pickup location. The below shows the information returned by /stores/{{STORE_HASH}}/orders/{{ORDERID}}/products
<product_options> <option> <id>39</id> <option_id>60</option_id> <order_product_id>65</order_product_id> <product_option_id>28</product_option_id> <display_name>Pickup In Store</display_name> <display_value>MAIN</display_value> <value>MAIN</value> <type/> <name/> <display_style/> </option> </product_options>
Remember to add mappings for any any dependent systems with your new iPaaS.com custom fields
This is an example mapping for iPaaS.com to NCR Counterpoint on MappingCollectionType: Transaction Line using the custom iPaaS.com field Pickup Store.
In NCR Counterpoint, these settings are passed through as configured.
Example: Multiple Pickup Locations