# Models

## The Deal object

```json
{"openapi":"3.1.0","info":{"title":"Partner Deals API","version":"15"},"components":{"schemas":{"Deal":{"type":"object","properties":{"Id":{"type":"string","description":"Unique identifier for the deal."},"Name":{"type":"string","description":"Display name of the deal."},"Description":{"type":"string","description":"A short description of the deal shown to partners."},"Public":{"type":"boolean","description":"Whether the deal is publicly visible to all partners. If false, the deal is exclusive to specific partners."},"CampaignId":{"type":"string","description":"Unique identifier for the campaign this deal belongs to."},"State":{"type":"string","enum":["ACTIVE","EXPIRED","PENDING"],"description":"The current state of the deal."},"Type":{"type":"string","enum":["BOGO","FREE_SHIPPING","GENERAL_SALE","GIFT_WITH_PURCHASE","REBATE"],"description":"The type of promotional offer."},"Scope":{"type":"string","enum":["CATEGORY","ENTIRE_STORE","PRODUCT"],"description":"The scope of products the deal applies to. Not returned for BOGO deals."},"Products":{"type":"array","description":"Products associated with the deal. Populated when Scope is PRODUCT.","items":{"$ref":"#/components/schemas/DealProduct"}},"Categories":{"type":"array","description":"Product categories associated with the deal. Populated when Scope is CATEGORY.","items":{"type":"string"}},"DiscountType":{"type":"string","enum":["FIXED","PERCENT","PERCENT_RANGE","PERCENT_MAXIMUM"],"description":"The method used to calculate the discount amount."},"DiscountAmount":{"type":"string","description":"The fixed discount amount. Populated when DiscountType is FIXED."},"DiscountCurrency":{"type":"string","description":"ISO 4217 currency code for the fixed discount amount."},"DiscountPercent":{"type":"string","description":"The percentage discount. Populated when DiscountType is PERCENT."},"DiscountMaximumPercent":{"type":"string","description":"The maximum percentage discount. Populated when DiscountType is PERCENT_MAXIMUM."},"DiscountPercentRangeStart":{"type":"string","description":"The lower bound of a percentage discount range. Populated when DiscountType is PERCENT_RANGE."},"DiscountPercentRangeEnd":{"type":"string","description":"The upper bound of a percentage discount range. Populated when DiscountType is PERCENT_RANGE."},"Gift":{"type":"string","description":"Description of the gift item. Populated for GIFT_WITH_PURCHASE deals."},"RebateAmount":{"type":"string","description":"The rebate amount. Populated for REBATE deals."},"RebateCurrency":{"type":"string","description":"ISO 4217 currency code for the rebate amount."},"DefaultPromoCode":{"type":"string","description":"The default promo code associated with this deal, if any."},"MinimumPurchaseAmount":{"type":"string","description":"The minimum purchase amount required to qualify for the deal."},"MinimumPurchaseAmountCurrency":{"type":"string","description":"ISO 4217 currency code for the minimum purchase amount."},"MaximumSavingsAmount":{"type":"string","description":"The maximum savings a customer can receive from this deal."},"MaximumSavingsCurrency":{"type":"string","description":"ISO 4217 currency code for the maximum savings amount."},"BogoBuyQuantity":{"type":"string","description":"The quantity the customer must buy to trigger the BOGO offer."},"BogoBuyScope":{"type":"string","description":"The scope of products the customer must buy to qualify for the BOGO offer (e.g., PRODUCT, CATEGORY, ENTIRE_STORE)."},"BogoBuyName":{"type":"string","description":"Display name of the product or category the customer must buy."},"BogoBuyImageUrl":{"type":"string","description":"URL of the image for the buy-side product in a BOGO offer."},"BogoGetQuantity":{"type":"string","description":"The quantity of the free or discounted product the customer receives in a BOGO offer."},"BogoGetScope":{"type":"string","description":"The scope of products the customer receives in a BOGO offer (e.g., PRODUCT, CATEGORY, ENTIRE_STORE)."},"BogoGetDiscountType":{"type":"string","enum":["FREE","AMOUNT","PERCENT"],"description":"The type of discount applied to the received product in a BOGO offer."},"BogoGetName":{"type":"string","description":"Display name of the product or category the customer receives in a BOGO offer."},"BogoGetImageUrl":{"type":"string","description":"URL of the image for the get-side product in a BOGO offer."},"BogoGetDiscountAmount":{"type":"string","description":"The discount amount applied to the received product. Populated when BogoGetDiscountType is AMOUNT."},"BogoGetDiscountCurrency":{"type":"string","description":"ISO 4217 currency code for the BogoGetDiscountAmount."},"BogoGetDiscountPercent":{"type":"string","description":"The discount percentage applied to the received product. Populated when BogoGetDiscountType is PERCENT."},"PurchaseLimitQuantity":{"type":"string","description":"The maximum number of times a customer can use this deal. Zero means unlimited."},"StartDate":{"type":"string","format":"date-time","description":"The date and time the deal becomes active (ISO 8601). Empty if the deal has no start date."},"EndDate":{"type":"string","format":"date-time","description":"The date and time the deal expires (ISO 8601). Empty if the deal has no end date."},"DateCreated":{"type":"string","format":"date-time","description":"Date and time the deal was created (ISO 8601)."},"DateLastUpdated":{"type":"string","format":"date-time","description":"Date and time the deal was last updated (ISO 8601)."},"Uri":{"type":"string","description":"Unique reference to the deal object in the impact.com API."}}},"DealProduct":{"type":"object","description":"A product associated with a deal when Scope is PRODUCT.","properties":{"ProductName":{"type":"string","description":"Display name of the product."},"ProductImageUrl":{"type":"string","description":"URL of the product image."},"ProductBeforePriceAmount":{"type":"string","description":"The original price of the product before the deal discount."},"ProductBeforePriceCurrency":{"type":"string","description":"ISO 4217 currency code for the before-deal price."},"ProductAfterPriceAmount":{"type":"string","description":"The discounted price of the product after the deal is applied."},"ProductAfterPriceCurrency":{"type":"string","description":"ISO 4217 currency code for the after-deal price."}}}}}}
```

## The DealProduct object

```json
{"openapi":"3.1.0","info":{"title":"Partner Deals API","version":"15"},"components":{"schemas":{"DealProduct":{"type":"object","description":"A product associated with a deal when Scope is PRODUCT.","properties":{"ProductName":{"type":"string","description":"Display name of the product."},"ProductImageUrl":{"type":"string","description":"URL of the product image."},"ProductBeforePriceAmount":{"type":"string","description":"The original price of the product before the deal discount."},"ProductBeforePriceCurrency":{"type":"string","description":"ISO 4217 currency code for the before-deal price."},"ProductAfterPriceAmount":{"type":"string","description":"The discounted price of the product after the deal is applied."},"ProductAfterPriceCurrency":{"type":"string","description":"ISO 4217 currency code for the after-deal price."}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://integrations.impact.com/partner-api-reference/partner-v15/reference/deals/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
