← Back to Events

Reserve and Collect Request

Also known as: Reserve Online, Pick Up In Store (ROPIS), Click & Reserve, Reserve & Collect, ROPIS, Reserve in Store

ConversioneventRetail: Omnichannel (BOPIS - Buy Online Pick Up In Store)Retail

Records a reserve-and-collect request once the store system accepts it, confirming the hold and returning a reservation_id; no online payment. Rejected requests are not recorded; collection is order-pickup.

Event Serialization

always

Business Use Case

["1️⃣ Store Operations: one store's daily reservations outgrow its hold shelf → add shelf space and pickup staff there.","2️⃣ Merchandising: one category takes most reservations → keep deeper stock of it at pickup stores.","3️⃣ Omnichannel PM: reservations placed on low-stock status climb → refresh store inventory feeds more often.","4️⃣ CRM Manager: reservation_id has no order-pickup match a day before expiry → send a pickup reminder."]

Business Criticality

Medium

Journey / Navigation Area

Checkout

Owning Function

Sales

Calculation Notes

["1️⃣ Fires once the store system accepts the request and returns a reservation_id; a rejected request, store pick or stock check sends nothing.","2️⃣ Serialization always: each confirmed reservation is a hit. Dedupe on reservation_id to drop reload and retry double fires.","3️⃣ Required: reservation_id, store_id, items, value, currency, fulfillment_method. Optional: store_name, store_inventory_status, user_id.","4️⃣ fulfillment_method is reserve_collect; value is the unpaid reserved amount and never counts as revenue or a purchase.","5️⃣ Name, email and phone for the hold notice stay in the order system; send only a hashed user_id, and only with analytics consent.","6️⃣ Common mistakes: sending purchase instead, firing before the hold is confirmed, and one hit per item instead of one items array."]

Platform Events

PlatformEvent
Google Analytics 4generate_lead
Adobegenerate_lead

Data Mappings

W3 Data Layer
{
  "event": [
    {
      "eventInfo": {
        "eventName": "generate_lead",
        "eventAction": "Reserve and Collect Request"
      },
      "attributes": {
        "reservation_id": "RSV-48219",
        "store_id": "ST-1042",
        "store_name": "Downtown Flagship Store",
        "fulfillment_method": "reserve_collect",
        "store_inventory_status": "in_stock",
        "value": 89.99,
        "currency": "USD",
        "user_id": "f47ac10b58cc4372"
      },
      "product": [
        {
          "productInfo": {
            "productID": "SKU-77213",
            "productName": "Cast Iron Dutch Oven 6-Quart",
            "category": "Home & Kitchen"
          },
          "price": {
            "basePrice": 89.99
          },
          "quantity": 1
        }
      ]
    }
  ]
}
GA4 Data Layer
{
  "event": "generate_lead",
  "reservation_id": "RSV-48219",
  "store_id": "ST-1042",
  "store_name": "Downtown Flagship Store",
  "items": [
    {
      "item_id": "SKU-77213",
      "item_name": "Cast Iron Dutch Oven 6-Quart",
      "item_category": "Home & Kitchen",
      "price": 89.99,
      "quantity": 1
    }
  ],
  "value": 89.99,
  "currency": "USD",
  "fulfillment_method": "reserve_collect",
  "store_inventory_status": "in_stock",
  "user_id": "f47ac10b58cc4372"
}
Adobe Client Data Layer
{
  "event": "generate_lead",
  "reservation": {
    "reservation_id": "RSV-48219",
    "store_id": "ST-1042",
    "store_name": "Downtown Flagship Store",
    "value": 89.99,
    "currency": "USD",
    "fulfillment_method": "reserve_collect",
    "store_inventory_status": "in_stock",
    "user_id": "f47ac10b58cc4372",
    "items": [
      {
        "item_id": "SKU-77213",
        "item_name": "Cast Iron Dutch Oven 6-Quart",
        "item_category": "Home & Kitchen",
        "price": 89.99,
        "quantity": 1
      }
    ]
  }
}
XDM Mapping
{
  "eventType": "web.formFilledOut",
  "productListItems": [
    {
      "SKU": "items.item_id",
      "name": "items.item_name",
      "_category": "items.item_category",
      "priceTotal": "items.price * items.quantity",
      "quantity": "items.quantity"
    }
  ],
  "_experience": {
    "analytics": {
      "customDimensions": {
        "reservation_id": "reservation_id",
        "store_id": "store_id",
        "store_name": "store_name",
        "fulfillment_method": "fulfillment_method",
        "store_inventory_status": "store_inventory_status",
        "value": "value",
        "currency": "currency"
      }
    }
  },
  "identityMap": {
    "userid": [
      {
        "id": "user_id"
      }
    ]
  }
}

Source Data

Digital Analytics (GA4)

Dependencies

Prerequisite: List the dependencies required for this Event

Report Attributes

Store Name Fulfillment Method Store Inventory Status Item Category Device Category

Segment Eligibility

true

Governance

Data SensitivityInternal

Dimensions

Governance & Metadata

Created bydevyendarm
Created on9/28/2026
Last modified bydevyendarm
Last modified on9/28/2026
Version1.0.0
Validation stateqa passed
StatusPUBLISHED

GitHub

View related Pull Requestcatalog/events/reserve-and-collect-request.yml

Community Discussion