Skip to content

Trouble Tickets

Required licence

crm.

The Trouble Ticket (طلب دعم) is the case file. It is the one document in the support folder that a desk cannot do without: it holds the customer, the product, who is working on it, how long they have been working, what the running conversation says, and — the part everybody looks at first — whether the product is under warranty or under contract.

Marina Plaza's split unit becomes ticket TKT-0451, raised on 6 April 2026 from complaint CMPL-0207. Follow it through this page.

The Trouble Ticket screen

Opening a ticket

A ticket arrives one of two ways: pressing تحويلة إلي طلب دعم / Convert To Ticket on a complaint, which opens a ticket pre-filled with the customer, product, serial number, description and external responsible party; or by opening Customer Relationship Management → Support → Trouble Ticket and starting from scratch.

Either way the new record opens with Ticket Date set to today, Estimated Fix Period measured in hours, Responsible Employee set to whoever is logged in, and Status = مبدئي / Initial.

The Main tab holds the case identity: Customer, Product, Serial Number, Responsible Employee, the Mediator, External Responsible, Severity, Ticket Type, Relative Weight, Expected Execution Date, the contact block, and four wide text fields — Error Message, Log, Technical Support Remarks and Description.

Severity and its neighbours are recorded and never read

Severity (Minor / Major / Feature / Critical), Ticket Type, Relative Weight and Expected Execution Date are stored on the ticket and consulted by nothing. No queue is sorted by them, no rule reacts to them, nothing alerts when the expected date passes. Estimated Fix Period is likewise never compared with the actual hours the ticket accumulates.

Fill them in if your reporting wants them — they export perfectly well to Excel — but do not build a priority process on them, because the system will not enforce one.

The Ticket Time group

Four fields, two of which you cannot type into:

  • Estimated Fix Period (وقت التنفيذ المقدر) — your estimate, in hours by default.
  • Actual Fix Period (وقت التنفيذ الفعلي) — read-only, accumulated from Ticket Execution documents.
  • Ticket Date (تاريخ الطلب) — defaults to today, and it is this date the coverage lookup tests.
  • Closing Date (تاريخ الإغلاق) — read-only.

Closing Date is usually empty

Closing Date is stamped in only two situations: on the document's first commit, if the ticket was already Closed at that moment, or when a Ticket Execution reaches 100 % completion. The realistic path — open a ticket, work it for a week, then Change Status → Closed — leaves Closing Date blank. Any "time to close" analysis built on it will be mostly empty.

The discussion thread

Below the main fields sits the ticket's conversation: twenty text boxes. Type into one and, on save, the system stamps your user name and the current date and time into the read-only pair beside it. It is the internal running commentary on the case — and it is capped at twenty entries, after which there is nowhere else to write.

Coverage — the one lookup that really works

The moment you pick a Customer and a Product, two read-only fields fill themselves in:

  • نوع التغطيه / Covering TypeCovered By Contract, In Warranty Period or Not Covered.
  • سند التغطية / Covering Document — the contract or warranty that produced the answer.

They are recomputed every time the ticket is read, so they always reflect today's contracts and warranties rather than a snapshot taken when the ticket was raised.

On TKT-0451 both a warranty and a contract match the split unit on 6 April:

CandidateWindowMatches?Wins?
CRM warranty WR-002192025-11-18 → 2026-11-18yesno
Service contract CSC-0044, line 12026-03-01 → 2027-03-01yesyes

A service contract always beats a warranty. Had CSC-0044 not existed, the ticket would read In Warranty Period with WR-00219 as the covering document; with neither, Not Covered.

What coverage matches, and what it ignores

What coverage matches: the ticket's Product, the ticket's Serial Number only when the ticket carries one, and the Ticket Date falling inside the line's Start In → End In window. A service contract wins over a warranty when both match.

What coverage ignores: the customer (any customer's contract or warranty can cover any other customer's ticket), the contract's status (Cancelled, Finished and Renewed contracts still cover), whether the contract has ever been committed (drafts cover), the frozen extension (the contract screen shows an extended To date, but coverage tests the original End In), and all dimensions — legal entity, branch, sector.

What coverage does: nothing but display. Covering Type and Covering Document are an on-screen indicator for the agent. No validator, pricing rule, status guard or document generation reads them, and there is no document term on the Trouble Ticket that could react to them. The commercial decision — whether to charge for the work — remains entirely manual.

Practical advice: always fill Serial Number on serialised items, or one warranty registered without a serial will cover every ticket raised on that product, for every customer, in every branch.

The lifecycle

Status is not something you type. The field is read-only on screen, and the ticket is moved between states by three different mechanisms that do not entirely agree with each other.

1. Assign — and the status jumps on its own

Open the مسند إلي / Assigned To tab and add rows to the الموظفين / Employees grid. On TKT-0451 that means the two technicians, EMP-2011 and EMP-2014.

Filling the Employees grid forces the status to Assigned

Every single time the ticket is saved, if the Employees grid has at least one row the status is set to مسند / Assigned before anything else is applied. You cannot leave a ticket on Initial once technicians are on it, and — more surprisingly — a status set by some other route can be pushed back to Assigned by an unrelated later save. This is the mechanism behind the reverting behaviour described under Ticket Executions.

The grid is also what makes the ticket's technicians selectable on a Ticket Execution: the employee picker there offers only the ticket's responsible employee and the people in this grid.

2. Change Status — and what it will not offer you

The تغيير الحالة / Change Status action on the Main tab opens a small dialog. It offers exactly five choices:

In Progress · Cancelled · Closed · Finished · ReOpen

Choosing one writes that status onto the ticket and makes it stick across later saves. Choosing In Progress also starts a stopwatch row for the current employee; choosing anything except ReOpen stops it.

3. The status gateway — eight statuses live somewhere else

The ticket has thirteen statuses, and this is the single least discoverable fact in the whole support area:

Reachable from Change StatusReachable only through a Ticket Follow-Up
قيد التنفيذ / In Progressمبدئي / Initial
ملغي / Cancelledمسند / Assigned
مغلقة / Closedتم التنفيذ / Done
منتهي / Finishedمؤجل / Postponed
معاد فتحه / ReOpenطلب تطوير / Development Request
بانتظار رد العميل / Customer Feedback
OutSideContractScope (no translation in either language)
خارج الضمان / Out Of Warranty

The eight missing statuses are not on the ticket screen at all

If your desk wants to park a case as Postponed, Waiting for Customer Feedback, Out Of Warranty or Development Request, the Change Status dialog will never offer them and the Status field itself is read-only. The only way to set those eight is to raise a Ticket Follow-Up with the value in its Ticket New Status field and commit it.

(Initial and Assigned also appear in the right-hand column because the system sets them for you — Initial on a new record, Assigned whenever the Employees grid has rows — but if you ever need to put a ticket back to one of them by hand, the follow-up is again the only route.)

Two of those statuses show a raw Latin word rather than a translated label: OutSideContractScope has no translation in Arabic or English, and Modification on the Ticket Type list is translated in Arabic only.

Train the desk on this early. Sites that do not know about it end up using only five statuses and inventing conventions in the description field to express the rest.

4. Close

Two routes, and they behave differently:

  • Change Status → Closed — the ticket is closed. Closing Date is filled only if this happens to be the document's first commit.
  • Commit a Ticket Execution at 100 % completion — the ticket shows Finished and Closing Date is set to that line's From Date. On TKT-0451, execution TEXE-0679 on 13 April does exactly this. But see the warning on Ticket Executions: that route sets the visible status without making it stick.

ReOpen puts the ticket back into play; nothing else changes, and the Closing Date is not cleared.

The ticket's stopwatch

The Assigned To tab carries a second grid, وقت تنفيذ الطلب / Ticket Execution Time, with one row per stretch of work: Employee, Start Date And Time, End Date And Time, Execution Time, Employee Total Execution Time. Every one of those durations is recomputed on save, and the header's إجمالي وقت التنفيذ / Total Execution Time is their sum.

Rows are created and closed by بدء / Start and إنهاء / End on the same tab, and by Change Status → In Progress.

On TKT-0451 the stopwatch reads:

EmployeeStartEndDuration
EMP-20112026-04-07 08:252026-04-07 15:407:15
EMP-20142026-04-13 09:002026-04-13 12:203:20
Total Execution Time10:35

Two clocks that will never agree

Total Execution Time (10:35 here) comes from this stopwatch. Actual Fix Period (7.0 hours here) comes from the Ticket Execution documents. They measure different things, are maintained independently, and nothing reconciles them. Decide which one your business reports on and be consistent.

Starting work stops the same technician's clock on a different ticket

When a technician's clock starts here, the system first looks for any open stopwatch row belonging to that technician — across every ticket in the database — and closes it. One person can only be "in progress" on one ticket at a time.

Worse, the end time written onto the abandoned row is not the current time. It is the timestamp of that employee's most recent recorded action on the same day, and if there is none, the row is closed at its own start time — zero minutes recorded for a morning of work. The other ticket is re-saved silently as part of this.

Tell technicians to press إنهاء / End before starting work on another ticket. A row also may not span more than one day; the screen refuses one that does.

The buttons on the Main tab

ButtonWhat it does
تنفيذ / ExecuteOpens an unsaved Ticket Execution in a pop-up, already pointing at this ticket, with one line for the responsible employee starting now
تغيير الحالة / Change StatusThe five-value dialog described above
تحويل إلي سؤال شائع / Convert To FAQCreates a CRM FAQ entry: the question is the ticket's description, the answer is every Ticket Execution note recorded against this ticket, run together
تصعيد الي / Escalate ToStamps the chosen employee into Escalated To
إنشاء طلب تطوير / Development RequestOpens an unsaved Development Request carrying this ticket, customer, product and description
عمل متابعة / Create CRM Follow UpOpens an unsaved Ticket Follow Up

Two buttons that do not do what their label says

Create CRM Follow Up opens a Ticket Follow-Up, not the CRM Follow-Up document from the Activities folder. Those are two different screens with different fields; the CRM Follow-Up is reachable only from its own menu item. See Tasks and Follow-Ups.

Escalate To saves and commits the whole stored record the moment you press it — and it commits the version held on the server, so any edits you have made on screen but not yet saved are not included. It also does not change the status: there is no Escalated state for a ticket, no escalation queue and no notification. Save your work before pressing it.

The rest of the screen

  • Executions tab — a read-only list of the Ticket Execution documents raised against this ticket. (Its columns list Employee twice; that is a display quirk, not two different employees.)
  • Follow Up tab — a read-only list of the Ticket Follow-Ups raised against this ticket.
  • الملاحظات / Remarks tab — a free-notes grid with a remark and two attachments per row, on top of the five attachment slots on the Main tab.

No effects, no term

The Trouble Ticket posts nothing and moves no stock. It has no document term, so there is nothing to configure and nothing that can be made to react to a status or to the coverage result. If a repair consumes spare parts, they are issued with an ordinary stock document raised separately, and no link back to the ticket exists.

The "Create Trouble Ticket" button on other screens is something else entirely

Nama's own toolbar carries a generic Create Trouble Ticket action that can appear on any screen. That action does not create a ticket in your installation — it files a support request with NaMaSoft's own support desk over the internet, and it only works when your Global Config carries the Nama server address and credentials. What you see locally is a queue entry, not a CRM document. It has nothing to do with the tickets described on this page.