openapi: 3.2.0 info: title: OpenAPI definition Order Offers Controller API version: v0 servers: - url: https://mobile.incentivio.com/incentivio-mobile-api description: Generated server url tags: - name: order-offers-controller paths: /orders/{orderid}/removediscount: post: tags: - order-offers-controller operationId: removeDiscount parameters: - name: orderid in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RemoveOfferRequestDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ViewOrderResponseDTO' /orders/{orderid}/applydiscount: post: tags: - order-offers-controller operationId: applyDiscount parameters: - name: orderid in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplyOfferRequestDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ViewOrderResponseDTO' /orderoffers: post: tags: - order-offers-controller operationId: getOrderOfferList parameters: - name: mock in: query required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GetOrderOffersRequestDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrderOfferListResponseDTO' /orderoffers/applyofferonnextvisit: post: tags: - order-offers-controller operationId: applyOfferOnNextVisit requestBody: content: application/json: schema: $ref: '#/components/schemas/ApplyOfferOnNextVisitRequestDTO' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApplyOfferOnNextVisitResponseDTO' /orderoffers/disablenextvisitoffers: get: tags: - order-offers-controller operationId: disableNextVisitOffers responses: '200': description: OK components: schemas: OrderTax: type: object properties: taxId: type: string taxDescription: type: string taxAmountApplied: type: integer format: int32 displayTaxAmountApplied: type: string Customer: type: object properties: customerId: type: string extCustomerId: type: string firstName: type: string lastName: type: string email: type: string phone: type: string ApplyOfferOnNextVisitRequestDTO: type: object properties: distributedOfferId: type: string OrderCharge: type: object properties: chargeId: type: string chargeName: type: string chargeDescription: type: string taxable: type: boolean gratuity: type: boolean delivery: type: boolean chargeApplied: type: integer format: int32 displayChargeApplied: type: string OrderTotal: type: object properties: preDiscountSubtotal: type: integer format: int32 taxSummary: $ref: '#/components/schemas/TaxSummary' chargeSummary: $ref: '#/components/schemas/ChargeSummary' totalDiscountApplied: type: integer format: int32 subtotal: type: integer format: int32 gratuity: type: integer format: int32 total: type: integer format: int32 displayTotal: type: string displaySubtotal: type: string displayTotalDiscountApplied: type: string displayGratuity: type: string displayPreDiscountSubtotal: type: string additionalAttributes: type: object additionalProperties: type: string QualifyingItem: type: object properties: itemAttribute: type: string enum: - CATALOG - GROUP - ITEM - BRAND - CATEGORY attributeId: type: string attributeObjectName: type: string count: type: integer format: int32 OrderOfferDTO: type: object properties: distributedOfferId: type: string offerId: type: string clientId: type: string merchantId: type: string offerCode: type: string codeFormat: type: string title: type: string shortDescription: type: string longDescription: type: string smallImage: type: string mediumImage: type: string status: type: string enum: - NEW - SAVED - READ - EXPIRED - DELETED - SYSTEM_REDEEMED - USER_REDEEMED redemptionEndDate: type: string distributedDate: type: string updatedDate: type: string pointsCost: type: integer format: int32 availablePoints: type: integer format: int32 availableBalance: type: number format: float discountType: type: string enum: - AMOUNT - PERCENTAGE discountPercentage: type: number format: float discountAmount: type: integer format: int32 variablePoints: type: boolean variableAmount: type: boolean requiredItems: $ref: '#/components/schemas/ItemQualifier' applyOfferOnNextVisit: type: boolean ChargeSummary: type: object properties: taxableCharges: type: integer format: int32 nonTaxableCharges: type: integer format: int32 totalCharges: type: integer format: int32 charges: type: array items: $ref: '#/components/schemas/OrderCharge' displayTaxableCharges: type: string displayNonTaxableCharges: type: string displayTotalCharges: type: string ApplyOfferOnNextVisitResponseDTO: type: object properties: appliedOfferDistributionId: type: string DisplayInfo: type: object properties: langCode: type: string title: type: string shortDescription: type: string longDescription: type: string smallImage: type: array items: type: string mediumImage: type: array items: type: string ApplyOfferRequestDTO: required: - localDateTime type: object properties: distributedOfferId: type: string offerId: type: string pointsToSpend: type: integer format: int32 amountToRedeem: type: number format: float latitude: type: number format: double longitude: type: number format: double localDateTime: type: string userId: type: string orderOptionType: type: string OrderOfferListResponseDTO: type: object properties: applicableOffers: type: array items: $ref: '#/components/schemas/OrderOfferDTO' itemRequiredOffers: type: array items: $ref: '#/components/schemas/OrderOfferDTO' RemoveOfferRequestDTO: type: object properties: offerId: type: string userId: type: string Address: type: object properties: streetAddress1: type: string streetAddress2: type: string city: type: string postalCode: type: string region: type: string country: type: string aptSuite: type: string OrderItemGroup: type: object properties: groupId: type: string groupExtId: type: string groupType: type: string enum: - CATALOG_GROUP - OPTION_GROUP groupName: type: string privateAttributes: type: object additionalProperties: type: string ItemTotal: type: object properties: preDiscountSubtotal: type: integer format: int32 taxSummary: $ref: '#/components/schemas/TaxSummary' chargeSummary: $ref: '#/components/schemas/ChargeSummary' appliedDiscount: type: integer format: int32 subtotal: type: integer format: int32 total: type: integer format: int32 displayPreDiscountSubtotal: type: string displayAppliedDiscount: type: string displaySubtotal: type: string displayTotal: type: string additionalAttributes: type: object additionalProperties: type: string GetOrderOffersRequestDTO: required: - localDateTime type: object properties: orderId: type: string incentivioOrderId: type: string languageCode: type: string merchantId: type: string latitude: type: number format: double longitude: type: number format: double localDateTime: type: string locationId: type: string orderItems: uniqueItems: true type: array items: $ref: '#/components/schemas/OfferOrderItem' orderType: type: string orderOptionType: type: string subTotal: type: integer format: int32 evaluateOnlyUserOffers: type: boolean ViewOrderResponseDTO: type: object properties: orderId: type: string clientId: type: string merchantId: type: string locationId: type: string extOrderId: type: string orderName: type: string orderNumber: type: string orderType: type: string enum: - DELIVERY - PICKUP - DINEIN customer: $ref: '#/components/schemas/Customer' guestCount: type: integer format: int32 tableId: type: string delivery: $ref: '#/components/schemas/Delivery' openedTime: type: string closedTime: type: string status: type: string enum: - OPEN - CLOSED - CANCELED - SYNC_PENDING orderFulfillTime: type: string revenueCenter: type: string orderItems: uniqueItems: true type: array items: $ref: '#/components/schemas/OrderItem' orderDiscounts: type: array items: $ref: '#/components/schemas/OrderDiscount' additionalAttributes: type: object additionalProperties: type: string checks: type: array items: $ref: '#/components/schemas/Check' orderTotal: $ref: '#/components/schemas/OrderTotal' itemsCountDetails: $ref: '#/components/schemas/ItemsCountDTO' orderNote: type: string orderSource: type: string enum: - APP - WEB - POS - KIOSK - GOOGLE_ORDERING guestOrderVerified: type: boolean TaxSummary: type: object properties: totalTaxes: type: integer format: int32 taxes: type: array items: $ref: '#/components/schemas/OrderTax' displayTotalTaxes: type: string OrderItem: type: object properties: additionalAttributes: type: object additionalProperties: type: string basePrice: type: integer format: int32 brandId: type: string catalogId: type: string categoryId: type: string displayInfo: $ref: '#/components/schemas/DisplayInfo' displayInfoTitle: type: string extCatalogId: type: string externalId: type: string group: $ref: '#/components/schemas/OrderItemGroup' itemDiscounts: type: array items: $ref: '#/components/schemas/OrderDiscount' itemId: type: string itemInstructions: type: string itemName: type: string itemTotal: $ref: '#/components/schemas/ItemTotal' notes: type: string options: type: array items: $ref: '#/components/schemas/OrderItem' orderItemId: type: string privateAttributes: type: object additionalProperties: type: string quantity: type: integer format: int32 sku: type: string unitPrice: type: integer format: int32 uom: type: string upc: type: string taxable: type: boolean OfferOrderItem: type: object properties: orderItemId: type: string itemId: type: string externalId: type: string group: $ref: '#/components/schemas/OrderItemGroup' groupId: type: string sku: type: string upc: type: string catalogId: type: string extCatalogId: type: string brandId: type: string categoryId: type: string quantity: type: integer format: int32 options: type: array items: $ref: '#/components/schemas/OfferOrderItem' ItemQualifier: type: object properties: qualifierItemAttribute: type: string enum: - CATALOG - GROUP - ITEM - BRAND - CATEGORY qualifierItems: type: array items: $ref: '#/components/schemas/QualifyingItem' qualifierSelectionMode: type: string enum: - ONE - ALL Payment: type: object properties: paymentTxId: type: string externalTxId: type: string paidDate: type: string paymentType: type: string enum: - CARD_NOT_PRESENT - CARD_PRESENT - CASH - THIRD_PARTY - APPLE_PAY - ANDROID_PAY - SAMSUNG_PAY - NO_PAYMENT - GOOGLE_PAY - ONE_TIME_TOKEN - PERMANENT_TOKEN - GIFT_CARD - PAYMENT_SKIPPED cardType: type: string lastFour: type: string amount: type: integer format: int32 tipAmount: type: integer format: int32 amountTendered: type: integer format: int32 Check: type: object properties: checkId: type: string extCheckId: type: string customer: $ref: '#/components/schemas/Customer' amount: type: integer format: int32 gratuity: type: integer format: int32 payments: type: array items: $ref: '#/components/schemas/Payment' Delivery: type: object properties: deliveryAddress: $ref: '#/components/schemas/Address' deliveryInstructions: type: string ItemsCountDTO: type: object properties: totalItemsCount: type: integer format: int32 itemsCount: type: object additionalProperties: type: integer format: int32 OrderDiscount: type: object properties: discountId: type: string extDiscountId: type: string description: type: string amountOfDiscount: type: integer format: int32 distributedOfferId: type: string discountType: type: string pointsCost: type: integer format: int32 discountAmount: type: integer format: int32 discountPercentage: type: number format: float appliedDiscount: type: integer format: int32 displayAppliedDiscount: type: string