Guide Delivery companies

Branches (hubs), in-charge accounts, staff users and roles

How a delivery company adds a branch (hub), appoints an in-charge, creates roles, adds staff users and sets their permissions, including what happens to permissions when a hub is chosen.

Last updated 22 October 2026 · Last verified 22 October 2026

Purpose#

Branches (called "hubs" on some forms) are the offices or collection points of your delivery company. The classic courier form and the company's Add-merchant form require a branch, and staff accounts can be tied to one too. This guide covers adding a branch, appointing a branch in-charge, creating roles, and adding staff users with permissions.

Who can use it#

This guide covers the company panel (company domain; the pages are Branch, Roles and Users). The super admin has similar Branch, Roles and Users pages on the central host, which this guide does not cover. In the sidebar, Branch needs hub_read, and Roles, Designations, Departments and Users need role_read, designation_read, department_read and user_read. The pages behind them and their row actions use further keys of the same families (hub_*, hub_incharge_*, role_*, designation_*, department_*, user_*). The in-charge entry (hub_incharge_read) and Permissions (permission_update) are row actions in the Branch and Users lists, not menu items. The company owner receives permissions from the modules of the company's plan; staff receive them from their role. A direct link without the permission sends you back to the home page, and an expired subscription redirects these pages to the plan page.

What you need#

  • A branch before adding couriers and merchants. The classic courier form (Delivery Man menu) and the company's Add-merchant form require a branch; if your company has no branches, the merchant form shows: "Your company has no branches — add a branch first from the Branches page." Couriers added from Couriers and commissions have no branch field and are placed automatically in the company's first-created branch (in none if there are no branches), and merchants who sign up themselves are not forced to choose a branch.
  • Before staff users: at least one active Designation, one Department (both from the Users & Roles menu) and one active role.

Steps#

  1. Add a branch

    Open Branch Manage → Branch and press the + button. Fill in Name (unique within your company), Phone (9 to 15 digits, optionally starting with +; spaces, dashes and brackets are removed), Address (up to 500 characters) and Status. For the location, type the address and press Enter to search, or click the map or drag the marker. Press Save. The row menu offers View, Edit and Delete, and the list can be filtered by name or phone. View shows the branch's parcels with totals and a date filter.

  2. Appoint a branch in-charge

    In the branch row menu choose the in-charge entry (needs hub_incharge_read), press +, pick a user and a status, then Save. The user must already exist as an admin-type account, so if the person is not in the list yet, add them first (see "Add a staff user" below). An Active in-charge becomes the only active one for that branch (earlier ones switch to inactive) and the user's branch is set to this branch. The list offers Edit, Delete and Assigned, which makes that record the active one.

  3. Create a role

    Open Users & Roles → Roles and press +. Enter a Name (up to 60 characters, unique) and a Status, then tick permissions module by module. Ticking an action also ticks the first box of its module; unticking the read box clears the module. Inactive roles do not appear when adding users.

  4. Add a staff user

    Open Users & Roles → Users and press +. Enter name, phone (9 to 15 digits), address, designation, department, role, status, email, password, joining date and salary (type 0 if you do not use it: an empty box is rejected); NID, image and Hub are optional. Save. The account is stored as an admin-type user of your company and receives the role's permissions.

  5. Adjust a user's permissions

    In the Users list open the row menu and choose Permissions, tick or untick boxes, then Submit.

Expected result#

  • A new branch appears in the list and in the branch selectors of the courier, merchant and user forms.
  • A staff user can sign in on the company domain. The Branch, Roles and Users menus follow the account's permissions, but some other pages, such as Parcel distribution, Delivery areas and Delivery pricing, are not tied to role permissions and are available to any admin-type account.
  • A user whose Hub is set sees only that branch's parcels in the parcel list. Users without a branch see all company parcels. When a parcel's pickup location has no coordinates, the merchant's branch coordinates are used as the pickup point.

Common mistakes#

  • Map coordinates left at the default. The form places the marker at the centre of Damascus and submits those coordinates unless you search or move it. If the map cannot load, the coordinates stay empty and only the typed address is saved.
  • Deleting a branch in use. The system refuses and shows a message with the number of linked users and parcels; the English text calls the branch a "pickup location". Move them or set the branch to Inactive.
  • Expecting a role edit to update existing users. Editing a role changes only the role. Users keep their stored permissions until you change them on the Permissions page or re-save the user.
  • Duplicate in-charge. A user cannot be the active in-charge of two branches at once ("The User already assigned."), and cannot be listed twice in one branch ("The User already exists.").
  • Picking the wrong person as in-charge. The list is not limited to your company: it shows admin-type users of all companies on the platform, by name and mobile. Choose only your own staff.

Limits and permissions#

  • A branch name is unique within your company; a role name must be unique on the whole platform. Email and mobile must be unique across all users.
  • Removing or deactivating an in-charge does not clear the user's branch. Change it on the user form: its Hub field is what is saved each time the user is saved, so choosing None there clears the branch set by the in-charge assignment.
  • The Users list shows only admin-type users of your company. The delete action is hidden for the company owner, and user 1 cannot be deleted.
  • The in-charge assignment does not change a user's permissions or account type.