Daily Work
Leave
One-line summary: a leave request is filed and decided inside the chat window itself — you convert a message into a request, a live card appears beneath it carrying the type, the length and the remaining balance, and from that card the approver approves or rejects while the employee withdraws.
Plan: No particular plan and no activation — leave lives inside Team Chat, and it is available on every plan — Basic, Professional, Advanced, Business and the Custom plan, and during the trial. Deciding on requests needs the "Approve leave" permission, which the company admin holds automatically. Start with Chat & messaging.
Overview
Duwam has no "Leave" screen. The conversation is the only door: the message you write to your manager becomes the request itself, and a live card appears beneath it carrying the leave type, the number of days, the remaining balance and a status pill — and the request is decided from that same card.
The point is that the request stays in its context. The conversation reads in order: the message, then the request, then the decision along with who made it, when, and why — not a mute badge on some other screen that nobody remembers arriving at.
A request has four states and no fifth: "Pending", "Approved", "Rejected", "Cancelled". The card shows them in a coloured pill at its top.
Note: Every device with the conversation open refreshes its own copy of the card, so what you see on the card is what the server lets you see — not what the person who sent the decision saw.
How do I file a leave request?
There are two doors, and both open the same dialog:
From a message you wrote: open the message menu — the "⋯" button at the top of the message, or a right-click on it — then choose "Convert to leave request". The option only appears on a message that carries text. The dialog carries a quote of your message and says: "A leave request will be created from this message, with its card here".
Without an earlier message: type /leave in the composer (/vacation and the Arabic /إجازة work too). The same dialog opens and says: "The request text is posted to the conversation, with its card beneath it", and whatever you typed after the command is filled into the note field.
Then fill in the dialog:
- "Leave type" — "Annual", "Sick" or "Unpaid".
- "From" and "To" — two dates, both starting at today. Pushing "From" past "To" drags "To" along with it; pulling "To" back before "From", however, is refused on send with the message "The end date is before the start".
- "Note" ("Optional") — up to 500 characters.
- Press "Send request" (or "Cancel").
Before you send, the "Remaining" line shows your balance as read from the server, not computed in your browser. While it is on its way you read "Reading the balance…", and if it cannot be read you get "Could not read the balance" — which does not stop you from sending.
Once sent, your message is stamped with a "Became a leave request" badge, and the card appears directly beneath it.
Tip: If your submission is refused — for overlapping dates, say — correct the date and send again from the same dialog: your request's text is never posted twice in the conversation, because the posted message is kept and not repeated.
Tip: Everyone in the conversation sees the "Became a leave request" badge, but it only says the message became a request — it does not say what kind. The type, the length and the balance belong to the card, and the card is readable only by those entitled to it.
How are the days and the balance calculated?
- The default entitlement is 21 days a year per employee.
- "Annual" alone deducts from the balance. "Sick" and "Unpaid" deduct nothing, and neither has a ceiling.
- The leave year is the Gregorian calendar year, and a request counts against the year of its start date. The remainder never drops below zero.
- Days are counted in the employee's own working days, not calendar days. A request from Thursday to Saturday, for someone who rests Friday and Saturday, is one day — not three. The default work week is Sunday–Thursday.
- The count is frozen the moment the request is created. Changing an employee's work week later does not rewrite the cost of a past request.
Note: The card writes the length out in words, correctly inflected for the interface language — in Arabic that means the singular, the dual, the 3-to-10 plural and the singular again from eleven up, rather than one plural for every number.
Caution: Two periods may not overlap for the same employee. A pending request holds the date exactly as an approved one does, so a second attempt on the same days is refused inside the dialog with: "You already have leave in this period — pick other dates".
How do I approve or reject a request?
From the Human Resources workspace open Team Chat — the row opens straight onto messages, and the tab strip ("Messages" and "Virtual Office") only appears on the Professional, Advanced and Business plans — then scroll down to the request card. It carries three buttons for anyone holding the approve permission: "Approve", "Reject", "Request a change".
The button opens a small dialog with a "Note" ("Optional" for approve and reject) and a warning: "The decision shows in the conversation for everyone who can read it". After the decision the card writes the result line — "Approved" or "Rejected" — along with who decided, when, and the text of their note.
Caution: One decision and no more. A request that has been decided cannot be decided again; whoever tries reads "This request has already been decided", and the card is re-read from the server because the copy in front of them has gone stale. Anyone trying to decide without the permission reads "You do not have permission to decide requests".
What does "Request a change" mean?
The third button is not a fourth state, and that is deliberate: the request stays "Pending" and carries who asked for the change and what they asked for, so the card shows a "A change was requested" line beside the buttons rather than in place of them.
The note is mandatory here — the dialog says: "Say what should change — the request stays pending until the employee amends it" — and leaving it empty is refused with "Say what should change".
There is no editing of a live request: the employee answers by withdrawing theirs and filing another with the right dates — from a new message or with the /leave command, because a single message is never converted twice; anyone who tries again on the same message reads "This message was already converted".
How do I withdraw my request?
From the card, the "Withdraw" button — as long as its status is "Pending". The card then writes "Withdrawn" and the status becomes "Cancelled".
After approval the button disappears from the card — for you and for the holder of the approve permission alike; the card shows no button at all once a decision is made, and cancelling approved leave is not available inside the product today.
Note: The buttons are offered to each right-holder separately, not as alternatives. Someone who filed a request for themselves while holding the approve permission sees all four at once as long as the request is "Pending" — hiding one of them would be the card's opinion rather than the system's ruling.
How do I file on behalf of another employee?
If you hold the "Approve leave" permission, open a colleague's message menu and choose "Convert to leave request". The dialog shows a "Filed for" line with their name, their balance is the one read, and the request is recorded in their name.
Note: Filing is not approving. A request an approver files on an employee's behalf starts out "Pending" like any other, and still needs a decision afterwards.
Who sees the request and who decides?
- The request's owner sees their full card, and withdraws it while it is pending. They file for themselves only.
- The holder of "Approve leave" approves, rejects and requests changes on any request in the company, files on someone else's behalf, and reads someone else's balance. The "Withdraw" button, however, appears only for the request's own owner and only while it is "Pending".
- A colleague in the conversation with neither the permission nor ownership reads the word "Restricted" where the card would be — no type, no length, no balance.
- The "Convert to leave request" option appears on a colleague's message only for the permission holder; on your own message it appears for everyone.
Granting the permission: "Employees" → open the employee for editing → "Permissions" → the "Attendance" group → "Approve leave" ("Approve or decline leave requests.").
Note: Approving is a named permission, not a management chain. Duwam has no direct-manager field that inherits the request automatically — whoever you granted this permission to is who decides. See Teams & permissions.
How does the system suggest a request from my message text?
If the "Chat suggestions" feature is on — it is off by default, the platform operator turns it on for your company on request, and there is no switch for it in company settings — conversation messages are read, and when a message looks like a request to be away, a "Suggestion: leave request" card appears for its author alone, not for the room, above the composer, carrying the type and the length, with "Send the request" and "Dismiss" on it.
Nothing is written until a human presses "Send the request", and "Dismiss" forgets the suggestion and does not bring it back.
The suggestion has deliberate limits:
- It is not asked about a message shorter than 12 characters, nor about a system message, a card or a poll, nor about an inbound WhatsApp message from a customer.
- No suggestion is shown below 0.8 confidence, nor with a date or a type it cannot verify.
- It reads only the first 1,000 characters of the message.
- It draws on the same monthly AI message allowance the assistant spends — and it counts the attempt, not the result. That allowance is 100 on Basic, 1,000 on Professional, 2,500 on Advanced and 5,000 on Business — and zero once a trial ends unsubscribed. See Duwam AI Assistant.
Where does approved leave show up?
A day approved as leave reads "On leave" in the employee attendance report instead of "Absent", and is totalled in the "Leave days" counter in the report header — and that counter does not appear at all when there are no leave days. It also counts toward the attendance indicator on the Dashboard, and in the daily digest the supervisor receives.
Caution: Only approved leave does this. A pending request erases no absence and counts toward no counter or report — otherwise filing a request would become a way to erase an absence. See Attendance.
What leave does not do
So you do not go looking for what is not there:
- It never touches pay. Payroll is computed by walking the attendance records, and leave writes neither an attendance record nor a counted hour — so someone paid hourly earns nothing for their approved leave days, and someone on a monthly salary is unaffected. See Payroll.
- No leave screen. No request log, no pending queue, no team calendar — the card inside the conversation is all there is. That said, the Duwam AI Assistant, on every paid plan, answers "any pending leave requests?" with a read-only list.
- No accrual engine. No monthly accrual, no carry-over into the next year, no pro-rating for a mid-year joiner, no Hijri year and no employment-anniversary year.
- No editing a live request. "Request a change" leaves the request pending and records what was asked, and the answer is a withdrawal plus a new request.
- No half days, no leave by the hour, no hourly time-off. A request is a start date and an end date, nothing more.
- No attachments — no medical certificate, no supporting document; the note is text only.
- No public-holiday calendar and no company-wide holidays: working days are read from the employee's own schedule and everything else is rest.
- No email and no WhatsApp notification when a request is filed — everything happens inside the conversation.
- No leave report and no export. The only number on show is "Leave days" inside a single employee's attendance report.
- The system does not block a past date and requires no advance-notice period.
FAQ
Q: Where is the leave page?
A: There isn't one. The only door is Team Chat: convert a message into a request, or type /leave in the composer.
Q: My colleague sees "Restricted" where the card should be — why? A: Because the request is not theirs and they do not hold the "Approve leave" permission. A request's details — type, length and balance — are readable only by its owner and by whoever decides on it.
Q: I took sick leave; did my balance go down? A: No. "Annual" alone deducts from the balance; "Sick" and "Unpaid" deduct nothing.
Q: I asked for Thursday to Saturday and it counted one day. A: Because days are counted in your working days, not calendar days, and you rest Friday and Saturday. The default work week is Sunday–Thursday.
Q: I got the dates wrong after sending.
A: There is no editing of a live request. Withdraw your request while its status is "Pending", then file another with the right dates — from a new message or with the /leave command, since a single message is never converted twice.
Q: My request was approved and I want to cancel it. A: That is not possible inside the product today. The "Withdraw" button disappears from the card the moment the request is approved, and it never appears for the holder of the approve permission in the first place. Contact support if approved leave really must be cancelled.
Q: I pressed "Send request" and was told I already have leave in this period. A: Two periods may not overlap for you. Remember that a pending request holds the date exactly as an approved one does — withdraw it, or pick other dates.
Q: Are leave days deducted from my salary? A: Nothing in leave touches pay in either direction. Payroll is computed from attendance records, and leave reclassifies the day in the reports — it neither pays for it nor deducts for it.
Q: Does my manager know about my request straight away? A: No email and no WhatsApp message. The request appears as a card inside the conversation, and that is where it is read and decided.
Q: What is my balance, and how do I change it? A: The default entitlement is 21 days per Gregorian year, and you read it on the "Remaining" line inside the request dialog. There is no screen today that lets you change that number yourself.
Quick reference
| Action | Path |
|---|---|
| Open the leave door | Human Resources workspace → Team Chat → open a conversation |
| Convert a message into a request | The "⋯" button on the message (or right-click) → "Convert to leave request" |
| File without an earlier message | Composer → type /leave |
| Read the balance before sending | The "Remaining" line inside the request dialog |
| The request card for the approver | Human Resources workspace → Team Chat → open the conversation |
| Approve or reject | Request card → "Approve" or "Reject" |
| Request a change | Request card → "Request a change" (the note is mandatory) |
| Withdraw a request | Request card → "Withdraw" (while the status is "Pending") |
| File on behalf of another employee | Colleague's message menu → "Convert to leave request" → the "Filed for" line |
| Grant the approve permission | "Employees" → edit an employee → "Permissions" → "Attendance" → "Approve leave" |
| See the leave days | "Employees" → employee report → the "Leave days" counter |