11 min readOwners, finance managers, reception leads, and administrators responsible for public pricing accuracy.

Public pricing in the test catalogue

Understand how public test prices are calculated and displayed on the lab website.

Where patients see prices

The lab public website does not currently use a separate standalone pricing route for each lab. Public pricing appears inside the Tests page and in featured test cards on the homepage. Patients reach it from /labs/{slug}/tests, where they can search the lab's active tests and review the expected price range.

This design keeps public prices close to the catalogue. The website reads active tests from the lab company and calculates visible price ranges from active catalogue prices that are effective today. If a test has no active public price range, the website shows On request instead of inventing a number.

What the Tests page shows

Each public test card can show the test code, English test name, localized category, sample type, turnaround hours, and price range. The search box filters by the English test name or code. The page uses the lab company's currency code, falling back to EGP if no currency is set.

The public card is intentionally simpler than the internal catalogue. It does not show every pricing rule, contract exception, discount, branch-specific operational note, or internal sample-routing rule. Patients need enough information to decide what to ask for, while staff still use the Lab Panel to calculate the final order price.

How price ranges are calculated

Kashef builds public price ranges from CatalogPrice records. Only prices with active status are considered. A price is eligible when its effective_from date is empty or on/before today, and its effective_until date is empty or on/after today. For each test, Kashef calculates the minimum and maximum active base price.

If the minimum and maximum are the same, the website shows one price. If they are different, the website shows a range. If no active eligible price exists, the website shows On request. This prevents expired or future prices from being displayed publicly.

Price ranges are not the same as a final invoice. The final order price can still be affected by packages, contracts, insurance, special price lists, discount rules, branch policy, and manual approvals. Public pricing should be treated as a guide unless the lab's policy says otherwise.

Keeping public pricing accurate

Update prices in the internal catalogue pricing tools, not directly in the public website. The public site reads from active catalogue prices, so the correct maintenance path is to review Tests, Catalog Pricing, Special Pricing Lists, Contracts, Discount Rules, and any branch-specific policies before publishing a public campaign.

When changing a price, check the active status and effective dates. A new price with a future effective date will not appear until that date. An expired price will disappear. Multiple active prices for the same test can create a range, which may be appropriate for different branches or conditions but can confuse patients if not explained.

What patients should understand

Public pricing copy should be clear and careful. If the lab uses ranges, explain that the final amount may depend on the selected branch, package, contract, insurance provider, or required sample conditions. If a price says On request, reception should be ready to answer that test quickly, because the patient will likely contact the lab.

Avoid showing prices for services the lab cannot perform today. If a test is active but unavailable because reagents are out of stock, sample routing is paused, or a partner lab is unavailable, consider deactivating the public-facing test or updating patient instructions until the service is available again.

Relationship to finance and cashier work

The public price range helps patients understand expected cost, but the Cashier Workbench and order pricing services calculate and record the actual transaction. Finance staff should rely on orders, invoices, payments, transactions, and transfers for accounting. Do not reconcile revenue from the public website display.

If a patient says the public price differs from the cashier price, review the test's active catalogue price, effective dates, contract or insurance selection, package membership, discount rules, and whether the public page was loaded before a recent change. Then explain the difference using the lab's approved policy.

Before publishing price changes

Before announcing new prices, open the internal pricing record, confirm active status and effective dates, then open the public Tests page and search for the test by its English name and code. Check the English test name, localized category, sample type, turnaround hours, currency, and visible price range in both interface languages.

For larger price updates, test a real order in the Lab Panel as well. The public price and the actual order price should tell the same story. If the website says one thing and the cashier calculates another, patients and reception staff will lose trust quickly.

Common issues

If a price does not appear, check whether the test is active, whether the catalogue price is active, and whether the effective date window includes today. If the page shows a range when you expected one price, there may be multiple active base prices for the same test. If the wrong currency appears, check the lab company currency code.

If a test is missing from the public page, check the test's lab company, active switch, English name, category, and code. The public page only lists active tests for the lab company attached to the website.