টেকনিশিয়ান Android অ্যাপ
ISPbills Technician অ্যাপে অ্যাসাইন করা কাজ, গ্রাহকের মাঠপর্যায়ের কাজ, ইনভেন্টরি lookup, দিকনির্দেশনা ও ঐচ্ছিক realtime location sharing ব্যবহার করুন।
টেকনিশিয়ান Android অ্যাপ
ISPbills Technician হলো মাঠপর্যায়ের কাজের জন্য Android অ্যাপ। সাইন ইন করা টেকনিশিয়ান অ্যাসাইন করা support job দেখতে, গ্রাহকের রেকর্ড নিয়ে কাজ করতে, ইনভেন্টরি খুঁজতে, job বা গ্রাহকের স্থানাঙ্ক maps অ্যাপে খুলতে এবং চাইলে dispatch-এর সঙ্গে realtime location শেয়ার করতে পারেন।
Live data দেখা ও পরিবর্তন সংরক্ষণের জন্য অ্যাপের সঙ্গে ISPbills server-এর সচল সংযোগ দরকার। Demo mode-এ নমুনা তথ্য ব্যবহৃত হয়; production record পরিবর্তন হয় না।
সাইন ইন
Sign-in screen-এ টেকনিশিয়ানের username ও password লিখে Login নির্বাচন করুন। Login with Google ও Login with Facebook নির্বাচন করলে provider-এর পেজ browser-এ খোলে এবং social sign-in সফল হলে আবার অ্যাপে ফিরে আসে। অপারেটরকে আগে ওই provider চালু করে সঠিকভাবে configure করতে হবে।
নমুনা job, গ্রাহক ও ইনভেন্টরি দিয়ে interface দেখার জন্য শুধু Use demo account ব্যবহার করুন। Demo-তে করা পরিবর্তন demo session-এর মধ্যেই থাকে।
অ্যাপটি authentication token ও technician ID ডিভাইসে রাখে, তাই পরে খুললে সরাসরি dashboard দেখা যেতে পারে। এগুলো সরাতে dashboard-এর sign-out icon নির্বাচন করুন। Sign out করলে Android backup বা upload-এর জন্য আগে নির্বাচন করা file স্বয়ংক্রিয়ভাবে মুছে যায় না।
Dashboard ও অ্যাসাইন করা কাজ
Dashboard-এ pending job, চলমান job, আজ সম্পন্ন করা job এবং চলতি মাসের মোট job দেখা যায়। এখানকার shortcut দিয়ে Jobs, Customers, Inventory, Scan Barcode, Maps ও My Location খোলা যায়।
মাঠপর্যায়ের একটি job সম্পন্ন করতে:
- Jobs খুলে All, Pending, Active বা Done নির্বাচন করুন।
- অ্যাসাইন করা job খুলে গ্রাহক, phone, address, schedule, priority, description ও আগের note যাচাই করুন।
- Task performed / next action ও Self assessment / field note লিখুন। শুধু note সংরক্ষণ করতে Save Task Note নির্বাচন করুন।
- Pending job-এর status
in_progressকরতে Start নির্বাচন করুন। - কাজ শেষ হলে task ও assessment লিখে Complete নির্বাচন করুন। Job বাতিল করতেই হলে শুধু Cancel ব্যবহার করুন।
Detail screen বর্তমানে সর্বোচ্চ 200টি job-এর refresh করা list থেকে নির্দিষ্ট job খোঁজে; আলাদা single-job request নেই। ওই ফলাফলের বাইরে থাকা job-এর ক্ষেত্রে Job not found দেখা যেতে পারে। Completed ও cancelled job-এ পরবর্তী status button থাকে না।
গ্রাহক ও collection
নাম, username, phone বা status দিয়ে খুঁজতে Customers খুলুন। Customer card-এ account status, username, phone ও package দেখা যায়। Card খুললে online state, expiry, balance, contact ও address-এর তথ্য দেখা যায়।
Customer page থেকে আপনি:
- latitude ও longitude থাকলে বাইরের maps অ্যাপে directions খুলতে পারেন;
- contact, NID, company, address, MAC, password ও coordinate field পরিবর্তন করতে পারেন;
- Android-এর file/image picker থেকে customer photo ও NID photo নির্বাচন করে record সংরক্ষণ করতে পারেন;
- ISPbills server-এর মাধ্যমে SMS পাঠাতে পারেন;
inventory,connection_fee,bill,recharge,advance,otgবাotherscategory দিয়ে collection লিখতে পারেন; item, quantity, unit price ও note ঐচ্ছিক।
নতুন record করতে Add Customer ব্যবহার করুন। অ্যাপের form-এ Name, Username, Password ও Mobile আবশ্যক। Email, company, NID, address-এর অংশ, coordinates, MAC binding, customer/NID image, connection type ও billing type ঐচ্ছিক। সংরক্ষণের আগে পরিচয় ও পেমেন্টের সংবেদনশীল তথ্য যাচাই করুন; live save অপারেটরের ISPbills server-এ পাঠানো হয়।
ইনভেন্টরি ও barcode lookup
Inventory-তে server থেকে পাওয়া item name, quantity, SKU, category, location, description ও unit price দেখা যায়। Item name, SKU, barcode, category বা location দিয়ে search করা যায়।
Scanner icon বা Scan Barcode নির্বাচন করে camera access দিন, তারপর পেছনের camera barcode বা QR code-এর দিকে ধরুন। Code-টি inventory lookup endpoint-এ পাঠানো হয়। মিললে item, না মিললে not-found message দেখা যায়। আরেকটি label-এর জন্য Scan Again নির্বাচন করুন।
Add Inventory কোনো server create endpoint ব্যবহার করে না। এখানে যোগ করা item শুধু অ্যাপের চলমান process-এ থাকে এবং process বা app restart হলে হারিয়ে যেতে পারে। এটিকে সাময়িক field list হিসেবে ব্যবহার করুন, মূল inventory record হিসেবে নয়।
Maps ও realtime location
Maps-এ coordinates থাকা অ্যাসাইন করা job-এর list দেখা যায়। Directions button নির্বাচন করলে Google Maps থাকলে navigation খোলে, না থাকলে geographic link সমর্থন করে এমন অন্য app খোলে। অ্যাপের ভেতরে map আঁকা বা route হিসাব করা হয় না। Coordinates না থাকা job list-এ আসে না।
Dispatch-এর সঙ্গে location sharing নিয়ন্ত্রণ করতে My Location ব্যবহার করুন:
- My Location খুলে switch চালু করুন।
- Android চাইলে precise বা approximate location access দিন।
- Visit চলাকালে ongoing location notification/service চালু রাখুন।
- Sharing আর দরকার না হলে switch বন্ধ করুন।
Sharing চালু ও permission দেওয়া থাকলে foreground service প্রায় প্রতি 30 সেকেন্ডে high-accuracy update চায়; minimum update interval 15 সেকেন্ড। Latitude, longitude, accuracy ও device timestamp ISPbills-এ পাঠানো হয়। পাঠানো best-effort: upload ব্যর্থ হলে error উপেক্ষা করা হয় এবং পরের location এলে আবার চেষ্টা হয়। App-এ upload history বা server সর্বশেষ কখন সফলভাবে পেয়েছে তা দেখা যায় না।
Permission ও privacy
| Access | কেন ব্যবহার হয় | অনুমতি না দিলে কী হবে |
|---|---|---|
| Internet ও network state | Authentication এবং live dashboard, job, customer, inventory, SMS, collection ও location request | Live data ও save ব্যর্থ হবে; demo data ব্যবহার করা যাবে। |
| Camera | ডিভাইসেই barcode ও QR code শনাক্ত করা | Barcode scan করা যাবে না; অ্যাপের বাকি অংশ ব্যবহার করা যাবে। |
| Fine/coarse location | ঐচ্ছিক realtime dispatch update | Location sharing শুরু হবে না। Job ও customer directions তাদের সংরক্ষিত coordinates ব্যবহার করবে। |
| Foreground service ও notification | ঐচ্ছিক location tracking চলার সময় দৃশ্যমান রাখা | Android-এর notification rule অনুযায়ী tracking থেমে যেতে বা notification লুকানো থাকতে পারে। |
| Biometrics/fingerprint | Biometric support-এর জন্য manifest-এ ঘোষণা করা | বর্তমান sign-in screen-এ biometric login-এর option নেই। |
Customer photo, NID image, পরিচয়ের তথ্য, message, collection detail, job note ও location-এ ব্যক্তিগত বা পরিচালনাগত সংবেদনশীল তথ্য থাকতে পারে। অপারেটরের অনুমোদন অনুযায়ী শুধু প্রয়োজনীয় তথ্য সংগ্রহ করুন, SMS পাঠানোর আগে recipient যাচাই করুন এবং মাঠের কাজ শেষে location sharing বন্ধ করুন। Image picker থেকে আপনি যে item নির্বাচন করেন অ্যাপ শুধু সেটির access পায়; এই workflow-তে পুরো media library-এর access দরকার হয় না।
বর্তমান সীমাবদ্ধতা
- Offline queue বা conflict resolution নেই। Server-এ সংযোগ না থাকলে বেশির ভাগ screen-এ error দেখা যায়।
- বর্তমান interface-এ list সাধারণত একবারে সর্বোচ্চ 50টি job, customer বা inventory item চায়; load-more control নেই।
- Demo mode-এ dashboard, job, customer, inventory, barcode lookup ও map নমুনা data ব্যবহার করে; পরিবর্তন production-এ যায় না।
- Dark mode পরিবর্তন বা biometric login চালু করার দৃশ্যমান settings page নেই।
- Stored preference-এ location sharing চালু থাকতে পারে, কিন্তু permission ও চলমান foreground service ছাড়া location upload হবে না।
সমস্যা শনাক্তকরণ ও সমাধান
| লক্ষণ | সমাধান |
|---|---|
| Invalid credentials | Account-টি বৈধ technician account কি না নিশ্চিত করে username ও password আবার লিখুন। Social sign-in-এর জন্য provider configure করা আছে এবং browser ispbills-technician://auth/callback-এ ফিরছে কি না দেখুন। |
| Screen-এ network error | Mobile data/Wi-Fi ও ISPbills server পরীক্ষা করুন। সংযোগ ফিরলে screen আবার খুলুন; offline retry queue নেই। |
| Job নেই বা Job not found | Job filter সরিয়ে দেখুন এবং dispatch এই technician-কে job-টি অ্যাসাইন করেছে কি না নিশ্চিত করুন। Detail lookup শুধু fetch করা job set-এ খোঁজে। |
| Scanner ফাঁকা বা permission চাইছে | Android settings থেকে camera permission দিন, camera ব্যবহার করছে এমন অন্য app বন্ধ করে Scan Barcode আবার খুলুন। |
| Barcode পড়েছে, কিন্তু item নেই | Inventory record-এ ঠিক ওই barcode আছে এবং সাইন ইন করা technician সেটি দেখার permission রাখেন কি না নিশ্চিত করুন। |
| Directions খুলছে না | Google navigation বা geo: link সমর্থন করে এমন app install/enable করুন এবং job/customer-এর coordinates বৈধ কি না দেখুন। |
| Dispatch location পাচ্ছে না | My Location চালু করুন, location permission দিন, ongoing tracking notification সক্রিয় রাখুন এবং network পরীক্ষা করুন। Service restart করতে sharing বন্ধ করে আবার চালু করুন। |
| হাতে যোগ করা inventory item হারিয়ে গেছে | App process restart হলে এটি স্বাভাবিক; item-টি ISPbills-এর মূল inventory-তে তৈরি বা update করুন। |