فیلڈ نوٹس

کرپٹو ATM فلیٹ چلانا: کیش، کیسٹس، کمپلائنس

کرپٹو ATM ایسی کیش مشین ہے جو دونوں طرف چلتی ہے: کسٹمر اسے بینک نوٹ دیتا ہے اور کرپٹو پاتا ہے، یا کرپٹو بھیجتا ہے اور بینک نوٹ وصول کرتا ہے۔ ان کا فلیٹ چلانا سافٹ ویئر انٹرفیس پہنے ہوئے لاجسٹکس کا کاروبار ہے۔ اسکرین کوٹ دیتی اور تصدیق کرتی ہے، لیکن مشکل حصے جسمانی ہیں — کیسٹس میں رکھی نقدی، ایسی جگہوں پر کھڑی مشینیں جہاں آپ موجود نہیں، اور ہر کیبنٹ پر ہونے والا ایکسچینج جسے پائی پائی تک ریکنسائل ہونا ہے۔ جو کرپٹو ATM کو ایپ سمجھتا ہے اس نے آسان آدھا حصہ دیکھا ہے۔

اس لیے یہ آپریشنل نصف کا ٹیئر ڈاؤن ہے: کیبنٹ کے اندر دو ذیلی نظام، شیشے پر ہونے والا ایکسچینج، وہ کیسٹس جنہیں کوئی ڈیمو میں نہیں رکھتا، فلیٹ بن جانے پر فورکاسٹنگ کا مسئلہ، اور ان مشینوں کو کنٹرول اور ریکنسائل کرنے کا نظم جنہیں آپ دیکھ نہیں سکتے۔

ایک کیبنٹ میں دو مشینیں

کرپٹو ATM دراصل دو ذیلی نظام ہیں جو آپس میں جڑے ہیں: ایک کیش ہینڈلنگ مشین — نوٹ ایکسیپٹر، ویلیڈیٹر، ڈسپنسر یا ریسائیکلر، اور نوٹ رکھنے والے کیسٹس — اور ایک کرپٹو ٹرمینل — والٹ، نیٹ ورک کنکشن، اور کوٹ دینے و تصدیق کرنے والی اسکرین۔ خرید کیش سے کرپٹو کی طرف چلتی ہے: کسٹمر نوٹ ڈالتا ہے، ویلیڈیٹر انہیں گنتا اور اسٹیک کرتا ہے، اور مشین کسٹمر کے والٹ میں کرپٹو بھیجتی ہے۔ فروخت کرپٹو سے کیش کی طرف چلتی ہے: کسٹمر مشین کے ایڈریس پر کرپٹو بھیجتا ہے اور ٹرانسفر کی تصدیق ہوتے ہی ڈسپنسر کیسٹ سے نوٹ گن کر نکالتا ہے۔ ہر مشکل چیز وہاں ہے جہاں یہ دونوں حصے ملتے ہیں، کیونکہ نوٹ جسمانی ہیں اور اسٹیک ہونے کے بعد ناقابلِ واپسی، جبکہ کرپٹو ڈیجیٹل ہے اور تصدیق کے بعد ناقابلِ واپسی — اور مشین کو کسی ایک طرف کا عہد تب تک نہیں کرنا چاہیے جب تک دوسری طرف یقینی نہ ہو۔

اسکرین کے سامنے تبادلہ

ہر مشین پر ایک تبادلہ ہوتا ہے، اور اس پر وہی لاک شدہ کوٹ کا ضابطہ لاگو ہوتا ہے جو کاؤنٹر ٹرمینل پر ہوتا ہے: اسکرین ریٹ بتاتی ہے، کاؤنٹ ڈاؤن کے ساتھ پورے سیشن کے لیے اسے روکے رکھتی ہے، اور صارف اسی کوٹ پر لین دین کرتا ہے، ورنہ سیشن نیا کوٹ جاری کرتا ہے۔ ترتیب ہی حفاظتی ماڈل ہے۔ خریداری میں مشین کرپٹو صرف اس وقت جاری کرتی ہے جب نوٹ جانچ کر اسٹیک ہو جائیں، محض ڈالنا کافی نہیں، کیونکہ ایسکرو کے گلے میں پھنسا نوٹ ابھی رقم نہیں ہوتا۔ فروخت میں جب تک آنے والی ٹرانسفر کی مطلوبہ تصدیقیں مکمل نہ ہوں، مشین ایک نوٹ بھی نہیں نکالتی، کیونکہ نکلا ہوا نوٹ واپس نہیں لیا جا سکتا۔ ناقابلِ واپسی عمل ہمیشہ آخر میں آتا ہے، جب دوسری طرف سب کچھ حتمی ہو چکا ہو۔ یہ ترتیب غلط ہو تو ایسی مشین بنتی ہے جو ان نوٹوں کے بدلے کرپٹو دے دیتی ہے جو اس نے رکھے ہی نہیں، یا اس ٹرانسفر کے بدلے نقد جو کبھی پہنچی ہی نہیں۔

کیسیٹس: وہ جسمانی نصف جس کا ڈیمو کوئی نہیں دکھاتا

نقد رقم کیسیٹس میں رہتی ہے، یعنی نوٹوں کے الگ ہو سکنے والے ڈبے، عموماً ہر مالیت کے لیے ایک، جو مشین میں لگتے ہیں۔ ریسائیکلر وہی نوٹ واپس دے سکتا ہے جو اس نے وصول کیے ہوں؛ سادہ ڈسپنسر صرف ان کیسیٹس سے نکالتا ہے جو آپریٹر نے بھرے ہوں۔ ہر کیسیٹ کے دو اعداد ہوتے ہیں: وہ تعداد جو سافٹ ویئر کے مطابق ہے اور وہ جو حقیقت میں ہے۔ آپریٹر کا پورا کام ایک جملے میں یہ ہے کہ ان دونوں کو برابر رکھا جائے۔ ہر قبول شدہ نوٹ سافٹ ویئر کی گنتی بڑھاتا ہے، ہر نکالا گیا نوٹ اسے گھٹاتا ہے، اور نقد جمع کرنے کا ہر دورہ اسے جسمانی گنتی کے مطابق دوبارہ طے کرتا ہے۔ جب جمع کرنے کے وقت سافٹ ویئر کی گنتی اور اصل گنتی میں فرق نکلے تو وہ فرق فلیٹ آپریشنز کا سب سے اہم عدد ہے۔ یہ غلط گنتی ہے، جام ہے، یا اس سے بھی برا کچھ، اور اسے گن کر ہی پکڑا جاتا ہے، امید سے نہیں۔

نقد کی سطح، اور فلیٹ ایک پیش گوئی کا مسئلہ کیوں ہے

ایک مشین ایک کام ہے؛ فلیٹ پیش گوئی کا مسئلہ ہے۔ جو ڈسپنسر خالی ہو جائے وہ صارفین کو لوٹا دیتا ہے، اور جس نوٹ ایکسیپٹر کا اسٹیکر بھر جائے وہ نقد لینا بند کر دیتا ہے۔ دونوں صورتیں آؤٹیج ہیں، اور کسی میں بھی ایسی ایرر لائٹ نہیں جلتی جو راہگیر کو نظر آئے، کیونکہ مشین بس وہ لین دین مکمل نہیں کر پاتی جو صارف چاہتا تھا۔ اسی لیے کنسول ہر مشین کے ہر کیسیٹ کی نقد سطح ٹریک کرتا ہے اور ان سطحوں کو روٹس میں بدلتا ہے: کن کیبنٹس میں رقم بھرنی ہے اور کن کو خالی کرنا ہے، اس سے پہلے کہ دونوں حد پر پہنچ جائیں۔ اچھی طرح چلنے والا فلیٹ زیادہ تر کیش اِن ٹرانزٹ کا شیڈول ہوتا ہے، یعنی کون کس کیبنٹ تک، کتنی رقم لے کر، کس دن جائے گا، اور سافٹ ویئر کا کام یہ شیڈول اندازوں اور جمعے کی شام کی افراتفری کے بجائے لائیو سطحوں سے بنانا ہے۔

ریموٹ لاک، اور کنسول سے کارروائی

مشینیں ایسی جگہوں پر ہوتی ہیں جہاں آپریٹر موجود نہیں ہوتا، جیسے لابی، شاپ فلور یا اسٹیشن کا کنکورس، اس لیے کنٹرول ریموٹ ہونا چاہیے۔ کنسول سے آپریٹر ایک مشین کو یا پورے فلیٹ کو فوراً لاک کر سکتا ہے، اور لاک شدہ مشین کوئی نیا لین دین مکمل نہیں کرتی۔ لاک جام، مشتبہ خرابی، نقد میں فرق، یا ایسی مشین کا جواب ہے جسے اس وقت تک منجمد رکھنا ہو جب تک کوئی وہاں پہنچ نہ جائے۔ چابیاں اور کیسیٹس جہاں ہیں وہیں رہتے ہیں؛ مشین بس اس وقت تک لین دین روک دیتی ہے جب تک کوئی انسان اسے کلیئر نہ کرے۔ اصول یہ ہے کہ خطرناک کارروائیاں کنسول سے ہوں، وجہ کے ساتھ، اور لاگ میں درج ہوں۔ یہ نہیں کہ کوئی موقع پر مشین کی اپنی اسکرین دبا دے، بغیر ریکارڈ کے، جہاں بعد میں کوئی یہ نہ جان سکے کہ کیا کیا گیا اور کیوں۔

کرپٹو ATM فلیٹ کوئی ایسا سافٹ ویئر پروڈکٹ نہیں جس کے ساتھ کچھ ہارڈ ویئر جوڑ دیا گیا ہو۔ یہ نقد لاجسٹکس کا آپریشن ہے جس کے سامنے ایک اسکرین لگی ہے، اور اس اسکرین پر نظر آنے والا ہر عدد کسی ایسے بینک نوٹ سے مطابقت رکھنا چاہیے جسے آپ ہاتھ میں پکڑ سکیں۔
— Protocore · ادائیگیوں کی انجینئرنگ

ایسی مشین کی ری کنسیلی ایشن جو آپ کو نظر نہیں آتی

ری کنسیلی ایشن اس بات کا روزانہ ثبوت ہے کہ فلیٹ دیانت داری سے چل رہا ہے۔ مشین پر ہر سیشن ایک ریکارڈ چھوڑتا ہے: نوٹ اندر اور کرپٹو باہر، یا کرپٹو اندر اور نوٹ باہر، ساتھ لاک شدہ ریٹ، والیٹ ایڈریس اور تصدیقیں۔ آخری کلیکشن کے بعد کے تمام سیشنز کا مجموعہ بتاتا ہے کہ مشین میں کتنی نقد رقم ہونی چاہیے؛ دورے پر کیسیٹس گنیں تو معلوم ہوتا ہے کہ اس میں کتنی ہے؛ اور دونوں کو برابر ہونا چاہیے۔ کرپٹو کی طرف بھی یہی عمل ہے، مشین کے والیٹ بیلنس کے مقابل۔ جو فلیٹ ہر مشین کی، ہر دن ری کنسیلی ایشن کرتا ہے وہ خراب کیبنٹ کو پہلے ہی دن پکڑ لیتا ہے، چاہے جام ہو، اسکمنگ ہو یا غلط گنتی، بجائے اس کے کہ وہ سہ ماہی کے اختتام پر ایسا خلا بن کر سامنے آئے جسے کوئی سمجھا نہ سکے۔ فی مشین لیجر کا مقصد ہی یہ ہے کہ وہ آڈٹ میں اس لیے ٹھہرتا ہے کہ اسے کبھی بھٹکنے نہیں دیا گیا۔

کمپلائنس آپریٹر کی ذمہ داری ہے؛ سافٹ ویئر نافذ کرتا ہے اور ریکارڈ رکھتا ہے

کرپٹو ATM فلیٹ کے آپریٹر پر ذمہ داریاں عائد ہوتی ہیں۔ اسے کون سی اجازتیں رکھنی ہیں، کون سی شناختی جانچ کرنی ہے، اور لین دین کی کن حدود کی پابندی کرنی ہے، یہ سب اس پر منحصر ہے کہ ہر مشین کہاں نصب ہے، اور یہ ذمہ داری آپریٹر کی ہے، نہ مشین کی اور نہ مشین بنانے والے کی۔ سافٹ ویئر جان بوجھ کر میکانکی کام کرتا ہے: آپریٹر جو فی صارف اور روزانہ حدود مقرر کرے انہیں نافذ کرتا ہے، آپریٹر جس حد پر جو شناختی مرحلہ مانگے وہ پوچھتا ہے، اور ہر نوٹ، ہر ٹرانسفر اور حد کے ہر فیصلے کو ریکارڈ کرتا ہے تاکہ آپریٹر بعد میں فلیٹ کا جواب دے سکے۔ مشین پالیسی طے نہیں کرتی؛ وہ آپریٹر کی پالیسی ہر کیبنٹ پر یکساں لاگو کرتی ہے اور جو ہوا اسے لکھ لیتی ہے۔ پالیسی کو درست رکھنا آپریٹر کا نظم و ضبط ہے۔ سافٹ ویئر کا حصہ یہ ہے کہ وہ پالیسی کو ایسے فلیٹ میں یکساں اور قابلِ آڈٹ بناتا ہے جسے کوئی ایک شخص بیک وقت نہیں دیکھ سکتا۔

ایمانداری سے حد

ایک جگہ پر ایک مشین کو شاید ہی فلیٹ کنسول کی ضرورت ہو، ایک اسپریڈ شیٹ اور ہفتہ وار گنتی کافی ہے۔ یہاں کا نظام فلیٹ کے پیمانے پر کام آتا ہے، جہاں اعداد ایک ذہن میں سمانا چھوڑ دیتے ہیں: بہت سی کیبنٹس میں نقد کی سطحیں، ہر سائٹ پر ری کنسائل ہونے والی کیسیٹ گنتی، گھنٹوں دور مشینوں کے لیے ریموٹ لاک، اور فی مشین لیجر جو آڈٹ میں ٹھہرے۔ ایک کیبنٹ چلائیں تو یہ اضافی بوجھ ہے؛ بیس چلائیں تو شیڈول، ری کنسیلی ایشن اور ریموٹ کنٹرولز کاروبار اور آہستہ آہستہ توازن کھوتی کیبنٹس کے ڈھیر کے درمیان فرق ہیں۔ فلیٹ کنسول /products/atm پر ہے، اور اصطلاحات، یعنی cassette، recycler، reconciliation اور settlement، /glossary میں ہیں۔

کوئی سسٹم بنوانا ہے؟

ہمیں مسئلہ بتائیں۔ ہم آرکیٹیکچر اور منصوبے کے ساتھ واپس آئیں گے۔