POST posSupportAPI/promotion/redeem

The Redeem Promotion method. This request applies Fishbowl promotions for the specified promotions code to the specified POS order. The API will validate and apply the discount based on the Promotion details and restrictions associated with the Promotions code.

Request Information

URI Parameters

None.

Body Parameters

The Redeem Promotion request object.

RedeemPromotionRequest
NameDescriptionTypeAdditional information
couponCode

The promotion code.

string

Required

bill

The POS transaction (check) details.

Bill

Required

managerOverride

When the ManagerOverride object exists and the ManagerOverrideValue is greater than $0.00, the redemption request is identified as a Manager Override request and the Manager Override rules apply.

ManagerOverride

None.

isAuthorization

If the Redemtion is not commited and it only represents an authorization

boolean

None.

isOnline

If the Promotion is Online Only

boolean

None.

member

The member details associated with the transaction.

Member

None.

revenueCenter

A POS may have multiple RevenueCenters.

integer

None.

managerSwipe

A Manager Swipe may be required by an offer

boolean

None.

hasPOSDiscount

Indicates if POS discount is part of the check

boolean

None.

hasAutoDiscount

Indicates if Auto discount is part of the check

boolean

None.

redemptionChannel

Indicates the Redemption Channel for the request.
Possible Values : 1=POS, 2=Online Ordering, 3=Kiosk, 4=Table

integer

None.

loyaltyMember

The loyalty member details associated with the transaction.

LoyaltyMember

None.

Request Formats

application/json, text/json

Sample:
{
  "couponCode": "sample string 1",
  "bill": {
    "checkNumber": 1,
    "server": {
      "id": "sample string 1",
      "fullName": "sample string 2"
    },
    "manager": {
      "id": "sample string 1",
      "fullName": "sample string 2"
    },
    "transactionDateTime": "2024-05-18T03:14:21.3572923-04:00",
    "businessDate": "2024-05-18T03:14:21.3572923-04:00",
    "orderTypeId": 1,
    "total": 1.0,
    "staffSelected": true,
    "billLineItems": [
      {
        "itemId": 1,
        "quantity": 1.0,
        "amount": 1.0,
        "itemName": "sample string 1",
        "selected": true,
        "matchedPOS": true,
        "isCombo": true,
        "parentItemId": "sample string 2",
        "sizeId": 1
      },
      {
        "itemId": 1,
        "quantity": 1.0,
        "amount": 1.0,
        "itemName": "sample string 1",
        "selected": true,
        "matchedPOS": true,
        "isCombo": true,
        "parentItemId": "sample string 2",
        "sizeId": 1
      }
    ]
  },
  "managerOverride": {
    "managerOverrideValue": 1.0,
    "redemption": {
      "id": "sample string 1",
      "discountAmount": 2.0,
      "discountId": 3,
      "receiptText": "sample string 4",
      "outcome": {
        "id": 1,
        "name": "sample string 2",
        "message": "sample string 3"
      },
      "discountUniqueIdentifier": "sample string 5"
    }
  },
  "isAuthorization": true,
  "isOnline": true,
  "member": {
    "id": "sample string 1",
    "emailAddress": "sample string 2",
    "deviceId": "sample string 3"
  },
  "revenueCenter": 2,
  "managerSwipe": true,
  "hasPOSDiscount": true,
  "hasAutoDiscount": true,
  "redemptionChannel": 1,
  "loyaltyMember": {
    "loyaltyNumber": "sample string 1"
  }
}

application/xml, text/xml

Sample:
<RedeemPromotionRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OfferManagementPOSSupport.Models">
  <Bill>
    <BillLineItems>
      <BillLineItem>
        <Amount>1</Amount>
        <IsCombo>true</IsCombo>
        <ItemId>1</ItemId>
        <ItemName>sample string 1</ItemName>
        <MatchedPOS>true</MatchedPOS>
        <ParentItemId>sample string 2</ParentItemId>
        <Quantity>1</Quantity>
        <Selected>true</Selected>
        <SizeId>1</SizeId>
      </BillLineItem>
      <BillLineItem>
        <Amount>1</Amount>
        <IsCombo>true</IsCombo>
        <ItemId>1</ItemId>
        <ItemName>sample string 1</ItemName>
        <MatchedPOS>true</MatchedPOS>
        <ParentItemId>sample string 2</ParentItemId>
        <Quantity>1</Quantity>
        <Selected>true</Selected>
        <SizeId>1</SizeId>
      </BillLineItem>
    </BillLineItems>
    <BusinessDate>2024-05-18T03:14:21.3572923-04:00</BusinessDate>
    <CheckNumber>1</CheckNumber>
    <Manager>
      <FullName>sample string 2</FullName>
      <Id>sample string 1</Id>
    </Manager>
    <OrderTypeId>1</OrderTypeId>
    <Server>
      <FullName>sample string 2</FullName>
      <Id>sample string 1</Id>
    </Server>
    <StaffSelected>true</StaffSelected>
    <Total>1</Total>
    <TransactionDateTime>2024-05-18T03:14:21.3572923-04:00</TransactionDateTime>
  </Bill>
  <CouponCode>sample string 1</CouponCode>
  <HasAutoDiscount>true</HasAutoDiscount>
  <HasPOSDiscount>true</HasPOSDiscount>
  <IsAuthorization>true</IsAuthorization>
  <IsOnline>true</IsOnline>
  <LoyaltyMember>
    <LoyaltyNumber>sample string 1</LoyaltyNumber>
  </LoyaltyMember>
  <ManagerOverride>
    <ManagerOverrideValue>1</ManagerOverrideValue>
    <Redemption>
      <DiscountId>3</DiscountId>
      <DiscountUniqueIdentifier>sample string 5</DiscountUniqueIdentifier>
      <DisountAmount>2</DisountAmount>
      <Id>sample string 1</Id>
      <Outcome>
        <Id>1</Id>
        <Message>sample string 3</Message>
        <Name>sample string 2</Name>
      </Outcome>
      <ReceiptText>sample string 4</ReceiptText>
    </Redemption>
  </ManagerOverride>
  <ManagerSwipe>true</ManagerSwipe>
  <OMMember>
    <DeviceId>sample string 3</DeviceId>
    <EmailId>sample string 2</EmailId>
    <Id>sample string 1</Id>
  </OMMember>
  <RedemptionChannel>1</RedemptionChannel>
  <RevenueCenter>2</RevenueCenter>
</RedeemPromotionRequest>

application/x-www-form-urlencoded

Sample:

Failed to generate the sample for media type 'application/x-www-form-urlencoded'. Cannot use formatter 'JQueryMvcFormUrlEncodedFormatter' to write type 'RedeemPromotionRequest'.

Response Information

Resource Description

RedeemPromotionResponse
NameDescriptionTypeAdditional information
redemption

The redemption details.

Redemption

Required

promotion

The promotion details.

Promotion

Required

selectablePromotion

Selectable Promotion Details (only returned if promotion is determined to be “Selectable Promotion” type).

SelectablePromotion

None.

result

The result object.

Result

Required

Response Formats

application/json, text/json

Sample:
{
  "redemption": {
    "id": "sample string 1",
    "discountAmount": 2.0,
    "discountId": 3,
    "receiptText": "sample string 4",
    "outcome": {
      "id": 1,
      "name": "sample string 2",
      "message": "sample string 3"
    },
    "discountUniqueIdentifier": "sample string 5"
  },
  "promotion": {
    "id": 1
  },
  "selectablePromotion": {
    "eligibleBillLineItems": [
      {
        "itemId": 1,
        "quantity": 1.0,
        "amount": 1.0,
        "itemName": "sample string 1",
        "selected": true,
        "matchedPOS": true,
        "isCombo": true,
        "parentItemId": "sample string 2",
        "sizeId": 1
      },
      {
        "itemId": 1,
        "quantity": 1.0,
        "amount": 1.0,
        "itemName": "sample string 1",
        "selected": true,
        "matchedPOS": true,
        "isCombo": true,
        "parentItemId": "sample string 2",
        "sizeId": 1
      }
    ],
    "quantity": 1
  },
  "result": {
    "statusCode": 1,
    "description": "sample string 2",
    "exceptionTrackingMoniker": "sample string 3"
  }
}

application/xml, text/xml

Sample:
<RedeemPromotionResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OfferManagementPOSSupport.Models">
  <Promotion>
    <Id>1</Id>
  </Promotion>
  <Redemption>
    <DiscountId>3</DiscountId>
    <DiscountUniqueIdentifier>sample string 5</DiscountUniqueIdentifier>
    <DisountAmount>2</DisountAmount>
    <Id>sample string 1</Id>
    <Outcome>
      <Id>1</Id>
      <Message>sample string 3</Message>
      <Name>sample string 2</Name>
    </Outcome>
    <ReceiptText>sample string 4</ReceiptText>
  </Redemption>
  <Result>
    <Description>sample string 2</Description>
    <ExceptionTrackingMoniker>sample string 3</ExceptionTrackingMoniker>
    <StatusCode>1</StatusCode>
  </Result>
  <SelectablePromotion>
    <EligibleBillLineItems>
      <BillLineItem>
        <Amount>1</Amount>
        <IsCombo>true</IsCombo>
        <ItemId>1</ItemId>
        <ItemName>sample string 1</ItemName>
        <MatchedPOS>true</MatchedPOS>
        <ParentItemId>sample string 2</ParentItemId>
        <Quantity>1</Quantity>
        <Selected>true</Selected>
        <SizeId>1</SizeId>
      </BillLineItem>
      <BillLineItem>
        <Amount>1</Amount>
        <IsCombo>true</IsCombo>
        <ItemId>1</ItemId>
        <ItemName>sample string 1</ItemName>
        <MatchedPOS>true</MatchedPOS>
        <ParentItemId>sample string 2</ParentItemId>
        <Quantity>1</Quantity>
        <Selected>true</Selected>
        <SizeId>1</SizeId>
      </BillLineItem>
    </EligibleBillLineItems>
    <Quantity>1</Quantity>
  </SelectablePromotion>
</RedeemPromotionResponse>