9 min readOwners, operations managers, and administrators.

Branches

Configure patient branches, central labs, teams, transfer receiving rules, schedules, storage support, and routing overrides.

What a branch represents

A branch is a real operating location in the lab company. It can be a patient branch where orders are received, or a central lab where samples are processed. Branches affect users, orders, samples, inventory warehouses, instruments, sample transfers, home visit service areas, and reporting.

Kashef is tenant-aware, so the active branch controls much of what staff see. Setting branches correctly is one of the first admin tasks for a multi-location lab.

Create first, activate when ready

Open Admin → Branches → Create and start in Branch Details. Only the branch name is required; type and color have suggested defaults, and address, city, and country are optional. Leave Activate after setup off to save an inactive branch and finish the rest later. Registering a branch or editing its basic profile also saves it inactive until operational setup is complete.

Activation is all-or-nothing. Kashef checks the subscription branch quota, your permission, the English report name, timezone, accession prefix, storage conditions, and inventory and cashier choices before making the branch active. If anything is missing, the branch stays inactive and nothing is created.

Find settings in the form

Create and edit use the same four tabs. Your entries remain in the form when you switch tabs; use Create or Save changes to save all tabs together.

  • Branch Details: basic location details and active status. Expand Location & service coverage to select the branch on Google Maps or set home-visit coverage. Coordinates are optional; an empty service radius uses 10 km.
  • Reports & setup: report identity, timezone, order numbering, inventory, and cashier choices. The English report name is required for activation. Report phone, email, and template are always optional; phone and email are printed on released reports when provided. Company currency and pricing are inherited automatically.
  • Team Assignment: optional staff assignments. You can add staff later.
  • Sample Receiving & Transfers: receiving capability and storage conditions. Storage conditions appear only when Can Receive Transfers is on and default to room temperature. Expand Receiving hours & dispatch cutoffs or Transfer route overrides only when needed; schedules, cutoffs, and route overrides are optional.

When ready, complete the activation requirements, review the storage conditions if the branch receives transfers, and turn on Activate after setup in Branch Details. Save the form to activate. Validation opens the tab and section containing the first missing or invalid field. A Branch not saved message lists what to fix. An active branch whose setup is not finished is checked the same way on every save, so if its name is in Arabic, enter the English Report Branch Name in Reports & setup before saving other changes.

After the first activation, the inventory and cashier choices are no longer shown. Reports & setup instead shows an Inventory & cash drawer summary with the branch's warehouse and cash drawer, plus Manage warehouses and Manage cash drawers links. Manage stock, drawers, and shifts from Inventory and Finance.

Branch details

The Branch Details tab contains the branch identity, address, and active status, with coordinates and service radius in the optional coverage section. The branch type is either Patient Branch or Central Lab. A patient branch is usually a reception or collection point. A central lab is usually a processing site where samples are routed for testing.

Branch color is the small square shown beside the branch name in the branch switcher. The switcher is in the desktop topbar and the mobile navigation drawer. Use distinct colors for branches that staff switch between often, especially sites with similar names or locations.

When you switch branches from a list or a shared page, Kashef opens the same page in the selected branch if your account can access it there. Switching from a record, print preview, or a page unavailable in that branch opens the selected branch's dashboard instead. Record selections and link filters are cleared so the new branch starts with its own context.

In Branch Details, expand Location & service coverage. Search for a street, district, or landmark and press Find on map, or click the map to place the pin. Drag the pin to adjust the location. The selected coordinates update automatically; when Google can identify the address, it also fills the address, city, and country. Review those details before saving. Selecting a location is optional and is saved only when you save the form.

If address search is unavailable, select a point on the map and enter the address details yourself. Expand Coordinates to enter or correct latitude and longitude manually, including when the map cannot load. Clear map location removes the coordinates while keeping the address. Opening the map without selecting a point does not save its default map center as the branch location.

Latitude, longitude, and service radius support geographic workflows such as home visits and service coverage. Even when exact coordinates are not used daily, keeping location data clean helps future routing and dispatch decisions.

Only active branches count toward the subscription branch quota. When the limit is full, administrators may prepare an inactive branch record, deactivate a retired branch, or upgrade the plan before activating the new location. Deactivation preserves historical orders, samples, stock, and audit records.

Operational activation checklist

Before activation, set the branch's IANA timezone and a unique 2–4 character accession prefix. Kashef permanently adds a collision-resistant branch namespace, local year/month, and locked sequence number. New orders then receive identifiers such as CAI-A2B3-2607-0001; existing identifiers never change.

Enter the English report branch name. It is filled from the branch name automatically when that name uses English letters. Report phone and email are optional. Interactive clinical result entry, review, and approval follow the selected SaaS interface language; Arabic uses right-to-left layout while canonical laboratory test names remain English in small left-to-right areas. Standalone released reports remain English and left-to-right. An optional active report template can be selected for the branch; otherwise normal company template matching applies.

The branch explicitly inherits the lab company's currency and catalog pricing. Currency is not duplicated or independently changed at branch level.

Choose one inventory starting point:

  • Create a default empty warehouse: review the suggested name, unique code, and primary storage condition. The warehouse starts with zero stock; add real opening stock later with Receive delivery or Add stock.
  • No local inventory: use this for a location that does not hold stock.

Choose one cashier starting point:

  • Create a zero-balance cashier drawer: review the suggested name and unique code. The drawer starts at zero; the first cashier records the counted cash when opening a shift.
  • Cashless: use this only when the branch does not accept local cash.

Nothing is created until the branch is activated, and Kashef never adds opening stock or cash during setup. The manager who activates the branch is assigned to it, and the setup decision is recorded in the activity log.

Team assignment

Team members can be assigned to a branch from the branch form. These assignments allow staff to work in multiple branches without changing their primary branch. This is important for operations supervisors, carriers, shared technicians, or staff covering shifts between locations.

If a user cannot see expected work in a branch, check whether they are assigned to that branch and whether their access roles allow the page or action.

Sample receiving and transfers

The Sample Receiving & Transfers tab controls how the branch participates in sample movement. Can Receive Transfers determines whether the branch can receive transfers. Available storage conditions record whether the branch can handle room-temperature, refrigerated, or frozen samples.

Receiving schedules define one window per weekday with start time, end time, and enabled status. Times use 24-hour HH:MM format and the end must be later than the start. Transfer cutoff times define when outgoing transfer work should stop or require special handling. These settings help operations staff avoid sending samples to a branch that cannot receive them in time.

Route overrides

Outgoing transfer route overrides let administrators define branch-to-branch rules. A rule can set destination branch, active state, distance, estimated minutes, pickup interval, maximum allowed sample age, supported storage conditions, and whether whole samples or aliquots can be transferred.

The origin and destination must be different branches in the active lab company, and each branch pair can have only one override. An active override must support at least one transport temperature and at least one sample form: whole sample, aliquot, or both.

Estimated minutes is travel time from dispatch to receipt. When it is empty, planning estimates travel from branch coordinates at a conservative road speed, with a 30-minute minimum; when coordinates are unavailable, it uses 60 minutes. Pickup interval is the maximum normal wait for the next pickup and is added to travel time. It is never used as a replacement for travel time.

During planning, a test marked Requires Aliquot can use only a route that permits aliquots. Other tests use the original sample container and require whole-sample transport. Temperature flags and maximum sample age are checked before a remote instrument is accepted as a processing candidate.

Use overrides when the general routing logic is not enough. For example, two branches may be close geographically but one route may not support frozen samples. Another route may permit separated aliquots but not the original sample container.

Disable an override to preserve its configuration and return immediately to normal route estimation. Delete it only when the route-specific history is no longer useful. The transfer-routes list supports origin, destination, and active-state filters; its edit and delete actions apply only to records in the active lab company.

Table and filters

The branches table shows name, color, type, city, country, team member count, transfer receiving flag, active status, and creation time. Filters allow review by branch type, active status, and whether a branch receives transfers.

Use the table before onboarding a new location, auditing branch coverage, or troubleshooting sample routing. A disabled receiving flag or missing storage condition can explain why samples do not route as expected.

Turn off Active when a location closes or should no longer receive new work. The branch and all of its history stay available.

Delete a branch that was never used

A branch created by mistake or for testing can be deleted. Turn off Active and save, then open the branch from another branch and choose Delete Branch. Kashef first checks for orders, samples, payments, cash shifts, and other history. If it finds any, the branch is kept and the message lists what it found; keep that branch inactive instead. When the branch is deleted, its team links, payment links, cash drawers, POS machines, and unfinished order drafts are removed with it.

Checklist

  • Every physical operating location has a branch record.
  • Branch type matches how the location is used.
  • Branch color is distinct enough for staff to recognize it in the desktop or mobile switcher.
  • Address, city, country, and service radius are current where your workflows use them.
  • Timezone, accession prefix, English report identity, and inherited company currency are verified.
  • Inventory and cashier starting points reflect the real location; opening stock and cash are entered later through Inventory and Finance.
  • Team assignments include shared staff and carriers who work there.
  • Receiving schedules and cutoff times match real operating hours.
  • Storage conditions reflect what the branch can safely handle.
  • Route overrides use distinct company branches and include at least one temperature and sample form when active.
  • Estimated travel time and pickup wait reflect the real dispatch process.
  • Route overrides are reviewed after process changes; obsolete rules are disabled before deletion.