> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sibipro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Offers

# Offer Data

Attributes on the offer payload body for events with the topic offer.created and offer.updated.

`offer.created` is triggered when an offer is created.

`offer.updated` is triggered when an offer is updated, including when the offer status changes, offerings are modified, or acceptance occurs.

`offer.buyout.adjusted` is triggered when the buyout amount is adjusted for an existing offer.

## `id`

The unique identifier for the offer.

## `orderIds`

The unique identifiers of the associated orders created from an offer decision. Will be omitted/null if no order exists.

## `thirdPartyId`

External system identifier for this offer. May be omitted or empty when not available.

## `customerName`

The full name of the customer associated with this offer.

## `customerEmail`

The email address of the customer associated with this offer.

## `customerPhone`

The phone number of the customer associated with this offer.

## `fullAddress`

The complete formatted address for the offer property.

## `line1`

The first line of the property address (street address).

## `line2`

The second line of the property address (unit, suite, etc.). May be omitted or empty when not applicable.

## `city`

The city of the property address.

## `stateOrProvince`

The state or province of the property address.

## `postalCode`

The postal or ZIP code of the property address.

## `status`

The current status of the offer.

### Expected Offer Statuses

The following values are expected statuses of an offer. All offer statuses have a `string` type.

* `pending` - The offer has been created but not yet sent to the customer.

* `awaiting_customer` - The offer has been sent to the customer and is awaiting their response.

* `order_placed` - The customer has accepted the offer and an order has been placed.

* `buyout_accepted` - The customer has accepted a buyout offer.

* `expired` - The offer has expired without customer action.

* `canceled` - The offer has been canceled before completion.
  The offer has been canceled before completion.

## `acceptedByRole`

The role of the person who accepted or processed the offer. Common values include "curator" or "customer". Will be omitted/null if the offer has not been accepted.

## `selectedOffering`

An array of selected offering objects, each containing the chosen products and any selected addons. This is offering that was chosen by the customer or by the curator on behalf of the customer. If the offer is in a status that is not `Order placed`, this will be omitted/null.

### `selectedOffering.products`

Array of product selections within the selected offering.

#### `selectedOffering.products.productId`

The identifier of the selected product.

#### `selectedOffering.products.curatorSelectedAddons`

Array of addons included by the curator for this product selection. Each addon object contains `addonId`.

#### `selectedOffering.products.customerSelectedAddons`

Array of addons explicitly selected by the customer for this product selection. Each addon object contains `addonId`.

## `offerings`

An array of offering options presented in this offer. When the offer is initially created and the status is `Pending`, Only the isIncluded product may be present. Upsells are generated asynchronously and may not be present until the offer is updated.

### `offerings.isIncluded`

Boolean indicating whether this offering option is included in the selected offer.

### `offerings.products`

Array of products that belong to this offering option.

#### `offerings.products.productId`

The identifier of a product associated with this offering option.

#### `offerings.products.curatorSelectedAddons`

Array of addons included by the curator for this offering product. Each addon object contains `addonId`.

## `buyoutAmountCents`

The amount given to the customer for their buyout option on this offer, represented in cents.

## `creditAmountCents`

The amount of credit applied to this offer, represented in cents. May be omitted/null when no credit is applied or when the offer has no upsells.

## `companySpendCents`

The amount the company will spend on this offer, represented in cents.

## `customerSpendCents`

The amount the customer will spend on this offer, represented in cents.

## `offerPricingBreakdown`

Detailed pricing breakdown for the offer checkout, including subtotal, tax, total, discounts, fees, and priced items. Represents the customer's pricing shown at checkout. Will be omitted/null if no offer checkout pricing data is available.

### `offerPricingBreakdown.subtotal`

The subtotal amount for the offer checkout, represented in cents. `null` if unavailable.

### `offerPricingBreakdown.tax`

The tax amount for the offer checkout, represented in cents. `null` if unavailable.

### `offerPricingBreakdown.total`

The total amount for the offer checkout, represented in cents. `null` if unavailable.

### `offerPricingBreakdown.discounts`

An array of discount objects applied to the offer checkout.

#### `offerPricingBreakdown.discounts.amount`

The discount amount, represented in cents.

### `offerPricingBreakdown.fees`

An array of fee objects applied to the offer checkout.

#### `offerPricingBreakdown.fees.amount`

The fee amount, represented in cents.

### `offerPricingBreakdown.pricedItems`

An array of items included in the offer checkout pricing.

#### `offerPricingBreakdown.pricedItems.id`

The unique identifier of the priced item.

#### `offerPricingBreakdown.pricedItems.title`

The title/name of the priced item.

#### `offerPricingBreakdown.pricedItems.purchasePrice`

The purchase price of the item, represented in cents.

## `offerSentAt`

The timestamp when the offer was sent to the customer in ISO 8601 format.

## Example payload

```json theme={null}
{
  "topic": "offer.updated",
  "data": {
    "id": "test-offer-id",
    "orderIds": ["test-order-id"],
    "thirdPartyId": "test-third-party-id",
    "customerName": "Test Customer",
    "customerEmail": "test@test.com",
    "customerPhone": "(123) 456-7890",
    "fullAddress": "123 Main St, Anytown, CA 12345",
    "line1": "123 Main St",
    "line2": "",
    "city": "Anytown",
    "stateOrProvince": "CA",
    "postalCode": "12345",
    "status": "Order placed",
    "acceptedByRole": "curator",
    "selectedOffering": [
      {
        "products": [
          {
            "productId": "test-product-id",
            "curatorSelectedAddons": [{ "addonId": "addon-1" }],
            "customerSelectedAddons": [{ "addonId": "addon-2" }]
          }
        ]
      }
    ],
    "offerings": [
      {
        "isIncluded": true,
        "products": [
          {
            "productId": "test-product-id",
            "curatorSelectedAddons": [{ "addonId": "addon-1" }]
          }
        ]
      },
      {
        "isIncluded": false,
        "products": [
          {
            "productId": "test-product-id",
            "curatorSelectedAddons": []
          }
        ]
      }
    ],
    "buyoutAmountCents": 25000,
    "creditAmountCents": 25000,
    "companySpendCents": 25000,
    "customerSpendCents": 11000,
    "offerPricingBreakdown": {
      "pricedItems": [
        {
          "id": "test-product-id",
          "title": "SIBI Microwave",
          "purchasePrice": 30000
        }
      ],
      "subtotal": 30000,
      "tax": 3000,
      "discounts": [
        {
          "amount": 25000
        }
      ],
      "fees": [
        {
          "amount": 3000
        }
      ],
      "total": 11000
    },
    "offerSentAt": "2025-08-19T00:00:00.000Z"
  }
}
```
