فلور پلان اور ٹیبلز
Floor Plan editor ٹیبلز کو ترتیب دینے کے لیے ایک بصری canvas ہے۔ Tables صفحہ ہر ٹیبل کے لیے تفصیلات اور کارروائیوں کا منظر دیتا ہے۔ دونوں اسکرینیں انہی بنیادی table records پر کام کرتی ہیں۔
Floors
Floors ٹیبلز کو جسمانی مقام کے مطابق گروپ کرتے ہیں، مثلاً "Main Hall"، "Mezzanine"، یا "Outdoor Patio"۔ آپ Settings > کیفیٹیریا سے floors بناتے اور سنبھالتے ہیں۔
ہر کیفے کے لیے کم از کم ایک floor ضروری ہے۔ ٹیبلز ہمیشہ ایک ہی floor پر assign ہوتے ہیں۔ آپ move-up اور move-down controls سے floors کی ترتیب بدل سکتے ہیں، اور Floor Plan ٹیب کھلتے ہی اوپر والا floor بطور default استعمال ہوتا ہے۔ Floor Plan صفحہ "All floors" pill بھی دیتا ہے جو تمام ٹیبلز کو مشترکہ منظر میں دکھاتا ہے۔
Floor Plan Editor
Floor Plan editor 1200 بائی 720 canvas پر 10-pixel grid کے ساتھ render ہوتا ہے۔ ٹیبلز اپنی محفوظ شدہ جگہوں پر shapes کی صورت میں نظر آتے ہیں۔ editor دو display modes سپورٹ کرتا ہے:
| Mode | اسے کس کے لیے استعمال کریں |
|---|---|
| 2D | ترمیم اور ترتیب کے لیے۔ ٹیبلز گھسیٹیں، شامل یا حذف کریں، نام بدلیں۔ |
| 3D | پیشکش اور walkthroughs کے لیے۔ canvas CSS perspective کے ذریعے architect-style dimetric view بناتا ہے۔ 3D mode میں drag بند ہوتا ہے کیونکہ tilted canvas پر pointer mapping واضح نہیں ہوتی۔ |
ٹیبلز شامل کرنا اور جگہ دینا
- کیفیٹیریا > Floor Plan کھولیں۔
- اوپر موجود floor pills میں سے مطلوبہ floor منتخب کریں۔
- Add Table پر کلک کریں۔ ایک نیا table canvas origin پر default shape، size، اور seat count کے ساتھ ظاہر ہوتا ہے۔
- Table body کو اپنی پسندیدہ جگہ تک گھسیٹیں۔ ماؤس چھوڑتے ہی position خود بخود محفوظ ہو جاتی ہے۔
- ہر seat group کے لیے یہی عمل دہرائیں۔
Positions 10-pixel grid پر snap ہوتی ہیں تاکہ سیدھے ٹیبلز منظم لگیں اور pixel-perfect placement کی ضرورت نہ پڑے۔
ٹیبل خصوصیات
ہر ٹیبل میں درج ذیل قابلِ ترمیم فیلڈز ہوتے ہیں:
| فیلڈ | مطلب |
|---|---|
| Code | مختصر شناختی کوڈ جو QR پر چھپتا ہے اور عملے کو نظر آتا ہے۔ یہ آپ کے کیفے میں منفرد ہونا چاہیے۔ |
| Display Name | عملے کو دکھائی دینے والا لمبا نام، مثلاً "Window 3" یا "Booth A"۔ |
| Seat Count | ٹیبل پر نشستوں کی تعداد۔ default 2 ہے۔ |
| Shape | square، rectangle horizontal، rectangle vertical، یا round میں سے ایک۔ |
| Size | 1 سے 10 تک عدد۔ editor اور 3D منظر میں render size کو کنٹرول کرتا ہے۔ |
| Floor | وہ floor جس سے یہ ٹیبل تعلق رکھتا ہے۔ اس فیلڈ میں ترمیم کر کے ٹیبلز floors کے درمیان منتقل کیے جا سکتے ہیں۔ |
| State | idle، in_use، یا out_of_order۔ |
ٹیبل حالتیں
| State | مطلب |
|---|---|
| idle | کوئی فعال session نہیں۔ جب تک آپ کسٹمر کو بٹھائیں نہیں، وہ آرڈر نہیں دے سکتا۔ |
| in_use | سیکیورٹی کوڈ فعال ہے۔ کسٹمر QR اسکین کر کے آرڈر دے سکتا ہے۔ |
| out_of_order | ٹیبل دستیاب نہیں۔ یہ floor plan پر مدھم نظر آتا ہے اور QR صفحہ عدم دستیابی کا پیغام دکھاتا ہے۔ دیکھ بھال یا فرنیچر مرمت کے لیے مفید ہے۔ |
کسٹمر کو بٹھانا
ٹیبل سے آرڈرز لینے کے لیے عملے کو کسٹمر کو بٹھانا ہوتا ہے۔ بٹھانے سے سیکیورٹی کوڈ جاری ہوتا ہے اور ٹیبل in_use حالت میں چلا جاتا ہے۔
- Tables صفحے پر یا Floor Plan action menu سے ٹیبل منتخب کریں۔
- Seat Customer (جسے "Open Table" بھی کہا جاتا ہے) پر کلک کریں۔
- سسٹم 6 ہندسوں والا سیکیورٹی کوڈ بناتا ہے اور دکھاتا ہے۔
- کوڈ کسٹمر کو دیں۔ وہ QR اسکین کرنے کے بعد اسے درج کرتے ہیں۔
کوڈ صرف تخلیق کے لمحے اور اس وقت plain text میں دکھایا جاتا ہے جب کوئی administrator پہلے سے بیٹھے ہوئے ٹیبل کے لیے Show Code dialog کھولتا ہے۔ سرور سائیڈ پر یہ hash کیا جاتا ہے۔ کوڈ طے شدہ مدت کے بعد expire ہو جاتا ہے اور کسی بھی وقت rotate یا reset کیا جا سکتا ہے۔
کوڈ دکھانا اور گھمانا
- Show Code۔ کھلے ٹیبل کے لیے موجودہ cached plain text کوڈ دکھاتا ہے۔ جب کسٹمر پہلی بار نمبر نہ دیکھ سکا ہو تو یہ مفید ہے۔ یہ action code rotate نہیں کرتا اور پچھلا QR بے اثر نہیں ہوتا۔
- Rotate QR۔ ٹیبل کے لیے نیا QR token بناتا ہے۔ پچھلا QR sticker غیر معتبر ہو جاتا ہے۔ اسے اس وقت استعمال کریں جب آپ sticker دوبارہ پرنٹ کریں یا شک ہو کہ پرانا QR باہر شیئر ہو گیا ہے۔
ٹیبل بند کرنا
جب کسٹمر بغیر pending bill کے چلا جائے تو Close Table پر کلک کریں۔ سیکیورٹی کوڈ فوراً expire ہو جاتا ہے، ٹیبل idle پر واپس آ جاتا ہے، اور بعد کی کوئی بھی اسکین کوشش نئی seating مانگتی ہے۔
اگر ٹیبل پر unpaid آرڈرز ہوں تو اس کے بجائے Settle Check استعمال کریں۔ settlement تمام کھلے آرڈرز کو منتخب ادائیگی کے طریقے کے ساتھ بند کرتا ہے اور پھر ٹیبل کو idle پر واپس لاتا ہے۔ settlement flow کے لیے Orders page دیکھیں۔
QR Codes
ہر ٹیبل کے پاس ایک QR code ہوتا ہے جو URL handy.cafe/{cafe-slug}/{table-code} کو encode کرتا ہے۔ query parameter میں QR token شامل ہوتا ہے جو sticker کی authenticity ثابت کرتا ہے۔ جب کسٹمر QR اسکین کرتا ہے:
- menu page slug اور table code کو cloud API کے خلاف resolve کرتا ہے۔
- اگر ٹیبل
in_useحالت میں ہو تو کسٹمر سے 6 ہندسوں والا سیکیورٹی کوڈ مانگا جاتا ہے۔ - کامیاب تصدیق پر ایک session token جاری ہوتا ہے اور cookie اور Bearer token fallback دونوں میں محفوظ کیا جاتا ہے۔ Bearer fallback اس لیے موجود ہے کیونکہ بعض ترتیبات میں iPhone Safari third-party cookies بلاک کر سکتا ہے۔
پرنٹ کرنے کے قابل QR Tables صفحے سے بنائیں۔ ہر ٹیبل کے لیے QR preview ہوتا ہے جسے آپ SVG یا PNG کے طور پر محفوظ کر سکتے ہیں۔ جب بھی QR token گھمائیں یا slug بدلیں، stickers دوبارہ پرنٹ کریں۔
فلور پلان بنانے کے مشورے
- پہلے حقیقی layout کو canvas پر نقش کریں۔ داخلی دروازہ ایک کنارے کے قریب رکھیں اور پھر اندر کی طرف بڑھیں۔ اس سے عملے کو سمت سمجھنے میں آسانی ہوتی ہے۔
- اگر آپ کے مقام میں صرف ایک ہی level ہو تب بھی ٹیبلز کو floor کے حساب سے گروپ کریں۔ "Hall" اور "Terrace" کو الگ floors بنانے سے آپ آرڈر ڈیش بورڈ کو علاقے کے لحاظ سے فلٹر کر سکتے ہیں۔
- booths کے لیے بڑے Size values استعمال کریں جو چار یا زیادہ افراد کو سنبھال سکیں، اور counter stools کے لیے چھوٹے values۔
- جن ٹیبلز کو مرمت درکار ہو انہیں
out_of_orderنشان زد کریں تاکہ کسٹمر ان پر آرڈر نہ دے سکیں۔ ٹیبل record صرف اس وقت حذف کریں جب seat مستقل طور پر ختم ہو جائے۔