8 min readReception staff, cashiers, patient support staff, managers, and owners.

Family loyalty

Understand shared family points, earning rules, reward conversion, staff redemption, and patient portal history.

One balance for the family

Kashef keeps one loyalty balance on the Primary Patient for each lab company. Orders for that primary patient and every linked family member earn into the same balance. Any linked member can also use that balance, but each ledger entry still records the actual patient whose order earned or redeemed the points.

Open a patient's profile to see the primary owner, current tier, current balance, redeemable value, and recent earning or redemption activity. A child profile explicitly shows that it is using the linked primary patient's balance.

Balances never move between separate lab companies. If the same person visits two companies, each company maintains its own program and ledger.

How points are earned

Managers configure the program under Admin > Lab Settings > Patient Loyalty Program. Only one earning basis is active at a time:

  • Number of Tests: awards the configured points for each ordered test after the order is fully settled.
  • Number of Visits: awards the configured points once after the order is fully settled.
  • Amount Paid: awards points for each configured paid-amount step as completed payments are posted.

Creating an order, recording an unpaid balance, or applying a loyalty discount does not earn points. Amount-based points use only the money in confirmed completed payments, not the order total. A zero-value payment earns no points.

The rounding rule controls fractional calculations. Round Down is conservative, Nearest Whole Point uses normal rounding, and Round Up grants the next whole point. Kashef records a unique source for every earning event, so retrying a payment or processing the same event again does not duplicate points.

Pausing the program stops new earning. It does not erase the family's existing balance or ledger.

Refunds and earned points

Requesting a refund does not change points. Once the refund is processed, Kashef automatically reverses the points related to the money returned. Partial refunds leave points for the amount retained; a full refund removes all points earned from that payment. Test- and visit-based rewards are reduced in proportion to refunds of the payments that settled the order.

Refund calculations keep the original earning and rounding rules, even if the program is later changed or paused. Reprocessing the same refund cannot deduct points twice. The patient profile and portal show the reversal in the loyalty history, and order earned-point totals deduct these reversals.

If the family already spent the refunded points, its balance can become negative. New earnings reduce that shortfall before points become available to redeem again. A refund does not automatically return points previously redeemed as an order discount.

Reward conversion and tiers

The reward block defines the exact conversion, such as 100 points = 10 EGP. The minimum redemption must be reached, points must be entered in complete blocks, and the configured maximum percentage limits how much of one order can be paid with points.

Dynamic tiers use the family's current balance. Keep a starting tier at zero points, then add higher tiers with increasing minimum balances. After earning or redemption, Kashef recalculates the displayed tier.

Redeem during order creation

On the New Order page, review Points to Redeem in the Order total card (the Review & total step in the step-by-step layout). It shows the current family balance and the maximum points available for that order. Enter the points to redeem, or leave 0 to preserve the balance.

When the order is confirmed, Kashef rechecks the family owner, balance, complete reward blocks, minimum, and order percentage limit. A successful redemption creates an order discount and a linked loyalty ledger entry in the same operation. If any check fails, the order is not partially finalized.

Redeem at the cashier

In Cashier Workbench, select Redeem Loyalty on an unpaid or partially paid order before collecting the next payment. Review the primary patient, family balance, and order limit, then enter complete reward blocks and select Apply Loyalty Reward.

The order due amount is recalculated after the reward. Open Collect Payment afterward to collect only the remaining money. Do not enter loyalty as a cash, card, or bank payment method; it is a tracked order discount, not money received.

Invoices, receipts, and portal

Invoices show points earned and redeemed on the order plus the resulting family balance. Receipts show points earned from that payment, any points already redeemed on the order, and the current family balance. The primary patient appears when a linked member used the shared balance.

The patient portal displays the same primary-family balance, tier, redeemable value, and recent ledger activity. It is a read-only view: patients cannot change earning rules or redeem points directly from the portal.

Troubleshooting

If points appear missing:

  1. Confirm the patient is in the correct lab company and the order belongs to the expected patient profile.
  2. Open the patient's profile and verify the displayed Primary Patient. A linked child should not have a separate account.
  3. Check the configured earning basis. Test- and visit-based programs wait until the order is fully settled; amount-based programs follow completed payments.
  4. Review the loyalty ledger for the order or payment. Reprocessing an existing source intentionally does not grant points twice.
  5. Check whether the program was paused when the activity occurred.

If redemption is blocked, check the family balance, minimum points, reward-block size, and maximum order percentage. Do not manually change the order total or post a finance entry to imitate loyalty redemption.