+965 9727 1175 info@a1-soft.com
AR | EN | FR

المميزات الكاملة لـ A1-DorakFull A1-Dorak Feature Set

كل ما تحتاجه منشأتك لإدارة طوابير العملاء - من الكشك الذاتي حتى تقارير المدير العام. مبني وجاهز ومجرب في منشآت حقيقية.Everything your business needs to manage customer queues - from the self-service kiosk to executive reports. Built, deployed, and battle-tested in real businesses.

🏦

البنوك ومراكز الخدمة متعددة الكاونتراتBanks & Multi-Counter Service Centers

عدة كاشيرين بالتوازي، خدمات متشعبة، كبار العملاء، مهارات الموظفين - كله مضبوط.Multiple cashiers in parallel, mixed services, VIP clients, staff skills - all handled.
👥

عدة كاشيرين على نفس الخدمةMultiple Cashiers, Same Service

ثلاثة كاونترات تخدم 'إيداع' بالتوازي - النظام يوزّع التذاكر تلقائياً على أول كاشير يضغط 'التالي'. لا تعارض، لا تذاكر مفقودة.Three counters serving 'Deposit' in parallel - system routes tickets to whichever cashier hits 'Next' first. No conflicts, no lost tickets.

🔀

كاونتر يخدم عدة خدماتMulti-Service Counters

Counter 5 = إيداع + سحب + خدمة عملاء. الكاشير يسحب من أي طابور تابع له تلقائياً. حل البنوك الصغيرة والساعات الهادئة.Counter 5 = Deposit + Withdrawal + Customer Service. Cashier pulls from any of their queues. Perfect for off-peak hours.

Room.AdditionalServiceIds[]

كاونتر VIP منفصلVIP / Premium Counters

تذكرة VIP تنادي على كاونتر VIP مباشرة. خيار 'حصري' يمنع الكاونتر العادي من سحب تذاكر VIP، أو 'مرن' يسمح بـ fallback.VIP tickets route straight to a VIP counter. Exclusive flag locks the counter to VIP only, or 'flexible' allows fallback.

Room.Tier · ExclusiveTier
🎯

توجيه حسب المهاراتSkill-Based Routing

الكاشير يتكلم روسي؟ سجّل skill='ru' في ملفه. عميل روسي يأخذ تذكرة → النظام يفضّل توجيهه له. مفيد للقروض، الصرف، التخصصات الطبية.Cashier speaks Russian? Tag skill='ru' on their profile. Russian customer arrives → system prefers them. Same for Loans/FX/specialties.

User.Skills[] · Service.RequiredSkills[]
🔄

تبديل مرن للكاشيرFlexible Cashier Swap

كاشير في استراحة → يحرّر كاونتره من زر واحد. زميل آخر يحجزه. كل التحركات مسجّلة في log المراجعة.Cashier on break? One-tap release. Colleague claims it. Every move logged for audit review.

📊

تقارير الفروعBranch Performance

متوسط مدة العملية لكل كاشير، الذروة اليومية، أكثر الخدمات طلباً، نسبة كبار العملاء - بيانات يستخدمها مدير الفرع.Avg handling time per cashier, daily peaks, top services, VIP ratio - data the branch manager actually uses.

🏥

تعدد المنشآت (Multi-Tenant)Multi-Tenant Architecture

منشآت متعددة على خادم واحد، أرقام مستقلة لكل منشأة، صلاحيات معزولة.Multiple businesses on one server with isolated ticket numbering and access.
🏢

منشآت معزولةIsolated Tenants

كل منشأة لها بياناتها الخاصة (عملاء، تذاكر، إعدادات) - لا يصل أحد إلى بيانات الآخرين أبداً.Each business has its own customers, tickets, and settings - full data isolation between clinics.

TenantId on every entity
🔢

ترقيم مستقلIndependent Numbering

D-001 لقسم الأسنان أو الصيانة، G-001 لقسم آخر - تتجدد يومياً تلقائياً.D-001 for one section, G-001 for another - daily auto-reset per clinic.

🌐

9 لغات9 Languages

عربي · إنجليزي · إيطالي · ألماني · روسي · أوكراني · فرنسي · أوردو · تركي. مع كشف تلقائي للمنطقة.Arabic, English, Italian, German, Russian, Ukrainian, French, Urdu, Turkish - with auto region detection.

🔄

RTL أصليNative RTL

ليس ترجمة - التصميم وُلد عربياً، الأرقام والتواريخ والنداءات الصوتية باللهجة المحلية.Not a translation - designed Arabic-first with local numerals, dates, and voice.

🤖

الكشك الذاتي (Self-Service Kiosk)Self-Service Kiosk

يصدر التذكرة بضغطة، يطبعها، يقرأ الهوية، ويعود لحالة الانتظار خلال 30 ثانية.Issue with a tap, print, read ID, and auto-reset in 30 seconds.
👆

واجهة باللمسTouch UI

شاشة ملء - اختيار المنشأة ثم الخدمة بضغطة. أزرار كبيرة، تباين عالٍ، RTL كامل.Full-screen large buttons, high contrast, full RTL - pick branch then service in one tap.

إعادة تلقائيةAuto-Reset

30 ثانية بدون لمس → يعود الكشك للشاشة الرئيسية للمريض التالي. شريط تقدّم مرئي.30 seconds idle → back to home screen for the next patient. Visible countdown bar.

🔒

وضع كشك مقفلLocked Kiosk Mode

يعطّل F11/Alt-Tab/زر اليمين/التكبير - لا يمكن الخروج إلا بكلمة سر فني.Disables F11, Alt-Tab, right-click, zoom - can't escape without staff password.

📡

يكتشف المنشآت تلقائياًAuto-Discovers Tenants

يستعلم من الخادم عن قائمة المنشآت النشطة لحظياً - لا يحتاج لإعداد يدوي.Pulls active tenants from the server live - no manual config per kiosk.

🖨

الطباعة الحرارية (3 طرق)Thermal Printing - 3 Transports

Bluetooth، USB، شبكة - كل الطابعات الحرارية الشائعة 58mm/80mm.Bluetooth, USB, Network - every common 58mm/80mm thermal printer.
📶

Bluetooth (Web Bluetooth)Bluetooth (Web Bluetooth)

الكشك يقترن بالطابعة من المتصفح مباشرة. يدعم Goojprt، MUNBYN، Xprinter وغيرها.Browser pairs directly with the printer. Supports Goojprt, MUNBYN, Xprinter, and more.

Web Bluetooth · Nordic UART · ESC/POS
🔌

USB (وكيل محلي)USB (Local Agent)

وكيل خفيف بـ Node.js على جهاز الكشك يستقبل أوامر الطباعة من المتصفح.Lightweight Node.js agent on the kiosk PC receives print commands from the browser.

node-thermal-printer · port 7001
🌐

شبكة (TCP 9100)Network (TCP 9100)

الخادم يفتح TCP لطابعة الشبكة مباشرة. Epson TM، Star TSP، Bixolon - كلها مدعومة.Server opens TCP directly to network printer. Epson TM, Star TSP, Bixolon - all supported.

CP864 Arabic · ESC/POS · GS V 0 cut
🇰🇼

عربي على الإيصالArabic on Receipt

رقم التذكرة بحجم كبير، اسم الخدمة عربي، اسم المريض، التوقيت، قص تلقائي.Large ticket number, Arabic service name, patient name, timestamp, auto-cut.

🎯

توجيه ذكيSmart Routing

كل خدمة لها طابعتها (مثلاً طابعة الأسنان، طابعة الاستقبال) - يختار النظام تلقائياً.Each service routes to its own printer (e.g., dental, reception) - system picks automatically.

📊

تقارير الطباعةPrint Telemetry

النظام يسجّل آخر طباعة ناجحة وآخر فشل لكل طابعة - تشخيص فوري للمشاكل.System logs last success / last failure per printer for instant troubleshooting.

💳

قراءة البطاقة المدنيةCivil ID Smart-Card Reader

البطاقة الكويتية على الكشك → الاسم الرباعي والرقم المدني تلقائياً.Kuwaiti Civil ID at the kiosk → auto-fill full name and ID number.
📥

قراءة فوريةInstant Read

ضع البطاقة في القارئ → خلال ثانيتين يُعبأ اسم المريض ورقمه المدني تلقائياً.Insert card → name and Civil ID number auto-filled in 2 seconds.

🔐

تشفير في قاعدة البياناتEncrypted at Rest

الرقم المدني محفوظ مشفراً (AES) - حتى لو نُسخت قاعدة البيانات لا يقرأها أحد.Civil ID stored encrypted (AES) - useless if the database is exfiltrated.

AES-256 + per-tenant key
🚫

قابل للتجاوزSkippable

المريض غير الكويتي أو الذي لا يحمل بطاقة → يضغط 'تخطّي' ويأخذ تذكرة بدون هوية.Non-Kuwaiti patients or those without ID → tap 'skip' for an anonymous ticket.

🔌

قارئ محليLocal Reader Agent

وكيل محلي على الكشك يتعامل مع PC/SC - لا يحتاج إنترنت ولا اتصال بحكومة.Local PC/SC agent - no internet, no government API needed.

مكتب الطبيب / الموظفDoctor / Service Desk

شاشة لكل غرفة - نداء التذكرة التالية، تأجيل، تخطّي، إنهاء الخدمة.One screen per room - call next, defer, skip, finish.
📣

نداء التاليCall Next

ضغطة واحدة → النظام يختار التذكرة التالية حسب الأولوية + الوقت + الغرفة.One click → system picks the next ticket by priority, time, and room.

⏸️

تأجيل (Defer)Defer

المريض غائب أو يحتاج لفحوصات؟ أجّله 5/10/15 دقيقة بدون فقد دوره.Patient absent or needs labs? Defer 5/10/15 min without losing their slot.

⏭️

تخطّيSkip

المريض ما حضر بعد ثلاث نداءات → تُعلّم 'متخطّاة' وتنتقل لمن بعده.Patient didn't show after 3 calls → marked 'skipped' and the queue moves on.

🚪

فتح/إغلاق الغرفةOpen / Close Room

الطبيب في فترة استراحة → يُغلق غرفته بضغطة، التوزيع التلقائي يتجاهلها.Doctor on break? Close the room with a click - auto-routing skips it.

📋

قائمة الانتظارLive Waiting List

جدول لحظي بكل المنتظرين، أوقات الإصدار، أولوياتهم، اسم المريض، رقم بطاقته.Live table of all waiting patients, issue times, priorities, names, IDs.

📝

ملاحظات سريعةQuick Notes

ملاحظات على التذكرة (مثلاً 'حساسية بنسلين') - تظهر للموظف التالي.Per-ticket notes ('penicillin allergy') - visible to the next staff member.

📺

شاشات النداء + النداء الصوتيCall Displays + Voice Announcements

شاشات كبيرة في صالة الانتظار + LED أمام كل غرفة + نداء صوتي بالعربي.Big waiting-room screens + LED above each room + Arabic voice calls.
📣

نداء صوتي عربيArabic Voice

'تذكرة D-007 توجّه إلى عيادة الأسنان 1' - صوت طبيعي، يعمل بدون إنترنت.'Ticket D-007 to Dental Room 1' - natural voice, works offline.

🖥️

شاشة العرض الكبيرةBig Display

ملء الشاشة، آخر 5 تذاكر تم نداؤها، وميض على آخر تذكرة، تخصيص بالقسم.Full-screen, last 5 called tickets, blink on the latest, filter by section.

💡

لوحات LED للغرفCounter LEDs

شاشة LED صغيرة فوق كل غرفة تعرض رقم التذكرة المنادى عليها - حمراء، واضحة من بعيد.Small LED above each door shows the called ticket number - red, visible from afar.

MQTT · A1Q-Hub firmware
🔄

تصفية حسب القسمPer-Section Filtering

شاشة عند الأسنان تعرض تذاكر الأسنان فقط، شاشة الاستقبال تعرض الكل.Display at Dental shows Dental tickets only; reception displays show all.

التحديث اللحظيReal-time Sync

SignalR + MQTT - كل الأجهزة متزامنة فوراً بدون reload.SignalR + MQTT - every device updates instantly with zero reload.

SignalR للويبSignalR for Web

WebSocket مفتوح بين الخادم وكل المتصفحات - التحديث في أقل من 100ms.Persistent WebSocket between server and all browsers - sub-100ms updates.

📡

MQTT للأجهزةMQTT for Devices

شاشات LED، أجهزة طابعة، أكشاك ESP32 - كلها تتحدث MQTT مع الخادم.LED panels, printer devices, ESP32 kiosks - all speak MQTT with the server.

a1q/{tenant}/counter/{room}/show
🔁

استرجاع تلقائيAuto-Reconnect

انقطاع الشبكة لحظياً؟ كل الأجهزة تعيد الاتصال تلقائياً وتستلم آخر الحالة.Network blip? All devices auto-reconnect and resync to current state.

🔄

Composite publisherComposite Publisher

حدث واحد على الخادم → ينشر لـ SignalR والـ MQTT في نفس الوقت - لا تأخير.One server event → published to SignalR and MQTT simultaneously, no lag.

📊

التقارير والتحليلاتReports & Analytics

KPIs لحظية + تقارير يومية/أسبوعية/شهرية + تصدير Excel.Live KPIs + daily / weekly / monthly reports + Excel export.
⏱️

متوسط الانتظارAvg Wait Time

لكل خدمة، لكل غرفة، لكل ساعة - يكتشف الاختناقات تلقائياً.Per service, per room, per hour - detects bottlenecks automatically.

🔢

عدد التذاكرTicket Counts

يومي/أسبوعي/شهري، حسب الخدمة، حسب الموظف، حسب القناة (كشك/استقبال/جوال).Daily/weekly/monthly, by service, by staff, by channel (kiosk/reception/mobile).

🏆

أكثر الخدمات طلباًTop Services

ترتيب الخدمات حسب الإقبال - لتقرّر التوسعة وتوزيع الطاقم.Service ranking by demand - plan expansion and staffing.

📥

تصدير ExcelExcel Export

أي تقرير → Excel بنقرة واحدة، يحافظ على الترميز العربي والـ RTL.Any report → one-click Excel, preserving Arabic and RTL.

🔑

نظام التراخيص (License Server)License Server

4 باقات + مفاتيح HMAC + تجديد سنوي + مسح يومي للحالة + حدود سعة مفروضة.4 plans, HMAC keys, annual renewal, daily expiry sweep, enforced capacity limits.
📦

4 باقات4 Plans

Trial (14 يوم، 3 غرف) · Starter (5 غرف · 199 د.ك) · Professional (15 غرفة · 549 د.ك) · Enterprise (1899 د.ك).Trial (14d, 3 rooms) · Starter (5 rooms, 199 KWD) · Pro (15 rooms, 549 KWD) · Enterprise (1899 KWD).

🔐

مفاتيح HMAC-SHA256HMAC-SHA256 Keys

مفتاح Crockford-Base32 (بدون I/L/O/U) قابل للقراءة من فاتورة مطبوعة. لا يمكن تخمينه.Crockford-Base32 keys (no I/L/O/U), readable from a printed invoice, unguessable.

A1Q-XXXXX-XXXXX-XXXXX-XXXXX
📅

تجديد سنويAnnual Renewal

التجديد يمدّد تاريخ الانتهاء + نافذة الصيانة، حتى لو انتهى الترخيص قبل أيام.Renewal extends expiry + maintenance window, even if expired days ago.

🔄

مسح يومي تلقائيDaily Expiry Sweep

Background worker كل 24 ساعة يقلب التراخيص المنتهية إلى Expired ويرسل تنبيهات.Background worker every 24h flips expired licenses and emits alerts.

🚦

حدود السعة مفروضةEnforced Capacity Caps

تحاول إضافة غرفة 16 وأنت على Professional؟ HTTP 402 + رسالة 'ترقية الباقة'.Try to add room #16 on Professional? HTTP 402 + 'upgrade plan' UI dialog.

LicenseGuard · LicenseLimitException
🛡

Offline بعد التفعيلOffline after Activation

التفعيل أونلاين مرة واحدة، بعدها العيادة تعمل أعواماً بدون إنترنت.One-time online activation; runs offline forever after.

⚙️

لوحة الإدارةAdmin Panel

كل الإعدادات في مكان واحد - المنشآت، المستخدمون، الخدمات، الغرف، الطابعات.Every setting in one place - tenants, users, services, rooms, printers.
🏥

إدارة المنشآتTenants

إنشاء منشأة جديدة، تخصيص الموقع الزمني واللغة، حدود الباقة.Create tenants, set timezone and locale, plan limits.

👥

المستخدمون والصلاحياتUsers & Roles

SuperAdmin · TenantAdmin · Reception · Doctor · Viewer - كل دور بصلاحياته.SuperAdmin · TenantAdmin · Reception · Doctor · Viewer - distinct permissions per role.

الخدماتServices

تعريف الخدمات (أسنان، عام، أطفال…)، الكود، اللون، الترتيب، التجميع بقسم.Define services (Dental, General, Pediatrics…), code, color, sort order, group.

الغرفRooms

تعريف الغرف، ربطها بخدمة، فتح/إغلاق، طوابق متعددة.Define rooms, link to service, open/close, multi-floor.

🖨

الطابعاتPrinters

إضافة طابعات (BT/USB/شبكة)، اختبار طباعة فوري، تتبع نجاح/فشل.Add printers (BT/USB/Net), instant test print, track success/failure.

لوحات LEDCounter LEDs

إضافة لوحات LED، ربطها بغرفة، اختبار النداء، إدارة Firmware.Add LED panels, link to rooms, test calls, firmware management.

التراخيصLicenses

ترخيصك الحالي، الحالة، تاريخ الانتهاء، تنبيه قبل 30 يوم، تفعيل، تجديد.Current license, status, expiry, 30-day warning, activate, renew.

🧹

إعادة تعيين اليومReset Today

نهاية اليوم → نقرة واحدة لمسح تذاكر اليوم وأرقام البداية تعود لـ 001.End of day → one click clears today's tickets, numbering resets to 001.

🔒

الأمان والخصوصيةSecurity & Privacy

JWT بصلاحيات + بيانات المرضى مشفرة + عزل بين العيادات + تسجيل تدقيق.JWT roles + encrypted patient data + tenant isolation + audit logging.
🎫

JWT TokensJWT Tokens

HS256 موقّع بمفتاح ≥32 حرف، مدة الجلسة قابلة للضبط، tenant claim مطلوب.HS256 signed with ≥32-char key, session duration configurable, tenant claim required.

🔐

تشفير البطاقة المدنيةCivil ID at Rest

AES + مفتاح خاص لكل عيادة - حتى المسؤول التقني لا يرى الأرقام بصيغتها.AES with per-tenant key - even the tech admin can't read raw IDs.

🚧

عزل بين العياداتTenant Isolation

Middleware يفرض التطابق بين JWT وX-Tenant-Id - لا اختراق أبداً.Middleware enforces JWT-vs-header tenant match - no cross-tenant access ever.

📜

CORS صارمStrict CORS

مصادر مسموحة محدّدة فقط، لا wildcards، Credentials مدعوم.Explicit allowed origins only, no wildcards, credentials supported.

🚀

النشر والتشغيلDeployment & Operation

On-Premise كامل، LiteDB مدمجة، مثبّت Windows واحد، لا حاجة لخادم SQL.Full On-Premise, embedded LiteDB, single Windows installer, no SQL Server needed.
🏠

On-Premise بالكاملFully On-Premise

يعمل داخل شبكة المركز الطبي - بياناتك لا تغادر مكتبك أبداً.Runs inside the clinic network - data never leaves your premises.

💾

LiteDB مدمجةEmbedded LiteDB

قاعدة بيانات في ملف واحد .litedb - لا تثبيت SQL Server، لا تكاليف ترخيص.Single .litedb file - no SQL Server install, no licensing fees.

📦

مثبّت Windows واحدSingle Windows Installer

ملف .exe واحد يثبّت Backend + كل التطبيقات (الكشك، الشاشة، الإدارة)، خلال 3 دقائق.One .exe installs backend + every frontend (kiosk, display, admin) in 3 minutes.

📱

PWA للجوالMobile PWA

المرضى يضيفونه على الشاشة الرئيسية ويتابعون دورهم لحظياً، بدون تطبيق متجر.Patients add to home screen and track position live - no app store.

🌐

يعمل على شبكة WiFiWorks on WiFi

الكشك وشاشات النداء وأكشاك الموظفين كلها على نفس WiFi - لا حاجة لكابلات.Kiosk, call displays, and staff workstations all on the same WiFi - no cabling.

🔧

Setup WizardSetup Wizard

عند أول تشغيل: 5 أسئلة، يُنشئ الحساب الإداري، الخدمات، الغرف، ترخيص تجريبي 14 يوم.First run: 5 questions create admin user, services, rooms, and a 14-day trial license.

جرّب كل المميزات مجاناً 14 يومTry Every Feature Free for 14 Days

بدون بطاقة ائتمان · المفتاح يصل خلال ثوانٍ · إلغاء في أي وقتNo credit card · Key arrives in seconds · Cancel anytime

🚀 ابدأ الآنStart Now