Loyalty points get accumulated for the service charge

We have noticed that service charges are also included when calculating loyalty points for the following order:

Order Id: iB5TCgNiYpJtAiavMmOV1DyHopYZY

Order Summary:

  • Sub Total: $13.95
  • Service Charge: $25.00 + $1.40 = $26.40
  • Tax: $1.08
  • Grand Total: $13.95 + $26.40 + $1.08 = $41.43
  • Earned Loyalty Points: 40 (for Sub Total + Service Charge)

We have configured the system to grant 1 point for every $1 spent.
Is there a way to exclude service charges from the loyalty point accumulation?

ORDER Req:

{
  "order": {
    "location_id": "JPP8GBK4V406R",
    "reference_id": "JPP8GBK4V406R_a9mtdcclpc06",
    "source": {
      "name": "xxxxxxx"
    },
    "customer_id": "JT4DKK7RS32CGV3MJEXWB47J5R",
    "line_items": [
      {
        "quantity": "1",
        "note": null,
        "catalog_object_id": "2U3EEXOISSIKSCKWCFLWLSDD",
        "modifiers": [],
        "applied_taxes": [
          {
            "tax_uid": "7HGC2VVHY4R5HZHOCM2BE4NK"
          }
        ],
        "applied_discounts": [],
        "base_price_money": {
          "amount": 1395,
          "currency": "USD"
        }
      }
    ],
    "taxes": [
      {
        "uid": "7HGC2VVHY4R5HZHOCM2BE4NK",
        "catalog_object_id": "7HGC2VVHY4R5HZHOCM2BE4NK",
        "scope": "LINE_ITEM"
      }
    ],
    "discounts": [],
    "service_charges": [
      {
        "name": "Delivery Fee",
        "amount_money": {
          "amount": 2500,
          "currency": "USD"
        },
        "calculation_phase": "TOTAL_PHASE"
      },
      {
        "name": "Service Charge",
        "percentage": "10.0",
        "calculation_phase": "SUBTOTAL_PHASE"
      }
    ],
    "fulfillments": [
      {
        "type": "DELIVERY",
        "state": "PROPOSED",
        "delivery_details": {
          "recipient": {
            "customer_id": "JT4DKK7RS32CGV3MJEXWB47J5R",
            "display_name": "xxxxxx",
            "email_address": "xxxxxxxxxx",
            "phone_number": "xxxxxx",
            "address": {
              "address_line_1": "123",
              "address_line_2": "123",
              "locality": "NY",
              "administrative_district_level_1": "New York",
              "postal_code": "10118"
            }
          },
          "schedule_type": "ASAP",
          "prep_time_duration": "P0DT0H29M7S",
          "dropoff_notes": null
        }
      }
    ],
    "ticket_name": null
  },
  "idempotency_key": "f70b711a-9579-4c30-9451-a0ef4ad1613a"
}

Loyalty point accumulate req:

 {
  "accumulate_points": {
    "order_id": "iB5TCgNiYpJtAiavMmOV1DyHopYZY"
  },
  "location_id": "JPP8GBK4V406R",
  "idempotency_key": "13b7ca3d-d077-47da-88cf-0f78dc4cc2ab"
}

Loyalty point accumulate response:

{
  "event": {
    "id": "9f0237be-6cdb-3b5a-9230-8258a8e040f3",
    "type": "ACCUMULATE_POINTS",
    "created_at": "2024-06-03T19:28:59Z",
    "accumulate_points": {
      "loyalty_program_id": "c6659451-58c6-4b4e-a601-33ad10ee08c8",
      "points": 40,
      "order_id": "iB5TCgNiYpJtAiavMmOV1DyHopYZY"
    },
    "loyalty_account_id": "527a8855-c4de-44f1-ac40-6eb7469503e3",
    "location_id": "JPP8GBK4V406R",
    "source": "LOYALTY_API"
  }
}

At this time the ability to exclude a service charge from a loyalty reward isn’t currently available with the Loyalty API. We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team. :slightly_smiling_face: