# POS
## New Design/Changes
سلام شادی جان
اینا مواردی بودن که باید اضافه بشن:
۱- اولین بار که برنامه پوز نصب میشه، نیازه تو نتورک داخلی شرکت یه بار کلیدهای پوز بهش اینجکت بشه
یه صفحه باید باشه که یه دکمه داخلش هست به اسم فرضا دریافت کلید که وقتی روش کلیک میکنه کاربر میکنه کلیدها رو برای اولین بار میگیره
۲- بعد از اون نیازه که پوز لاگین کنه. برای لاگین پوز نیازی به اینپوت یوزر نیست برای همین میشه بگیم هر دفعه که اپ باز میشه یه splash screen داشته باشیم و یه لودینگ نشون بدیم و این کارو انجام بدیم
اگرم خطایی رخ بده یه پاپ آپ نشون میدیم و یه دکمه تلاش مجدد داریم
۳- دیزاین پاپ آپ نداریم فکر کنم. ممکنه بدون اکشن و با اکشن باشه.
۴- اگر کاربر به هر صورتی مبلغ درستی رو پرداخت نکنه یا بخوایم به هر دلیل دیگهای (مثلا فی تراکنش کمتر از حد مجاز) بخوایم تراکنش رو fail کنیم. یه رسید پرداخت ناموفق هم نیاز داریم.
۵- صفحه لاگین cashier
- شامل ایدی و پین چهار رقمی
۶- بخش انتخاب زبان بهتره تو یه صفحه ستینگ باشه. اگر ستینگهای دیگهای هم داشتیم همونجا بذاریم.
۷- بخش استعلام تراکنش که یه لیست از تراکنشهاست و میتونه یوزر روشون تپ کنه و دیتیلش رو ببینه. این بخش میتونه یه کارت تو صفحه اول باشه مثل بخش پرداخت.
۸- فی تراکنش رو خود کیف پول کاربر پیشنهاد میده معمولا. و ما نمیتونیم مقدار دقیقی رو فورس کنیم. برای همین از تمام صفحات بهتره حذفش کنیم.
۹- بخش شیر و دانلود رسید حذف بشن.
## New Endpoints/Changes
### New Endpoints
- get config endpoint
- default currency
- merchant data (at least merchant display name)
- supported coins and networks
- supported langs
- calculate endpoint
- get an amount and currency
- return for all avaialble coins:
- amount of equivalant crypto
- recommended tx fee for all networks of crypto
- our exchange rate for that coin (after markup)
- total
- prepare tx endpoint
- send a tx and prepare a tx that is valid for 1 minute
- if one minute passed, do not accept it start tx
- should contain:
- id
- status
- valid until
- coin
- network
- fiat amount
- crypto amount
- exchange rate (after markup)
- datetime
- reference number
- total
- what ever else we have
<!-- - refresh tx
- if after one minute, prepared tx did was not started, it needs to be refreshed
- refreshing will update all price fields (amount of eq crypto, tx fee, ...) -->
- start tx endpoint
- send a prepared tx and start it
- will lock it for 30 mins and shows wallet
- get tx detail
- send tx id and get status and detail
- should contain:
- id
- status
- fiat amount
- crypto amount
- exchange rate (after markup)
- datetime
- reference number
- total
- what ever else we have
- get tx list (only that pos txs)
- should return all transaction for that pos, paginated
### Change
- transactions should contain a reference number
### Pooya
add some field to the request:
1- cryptom user id
2- merchant id
3- type (pos/web)
we will have some endpoints:
1- price endpoint
2- coin and networks
3- send sms
4- send email
5- deactivate account
6- check balance of merchant
7- create cryptom user
a url shortener for future