This website requires JavaScript.
a787dd96fd
Merge pull request 'Feat/enakgame' (#46 ) from feat/enakgame into staging
staging
aefril
2026-10-09 18:02:38 +02:00
c43baa53e1
docs: EnakGame game list, API list and in-game login
feat/enakgame
efrilm and Claude Opus 5.5
2026-10-09 22:59:58 +07:00
a01e651709
fix(customer-auth): refuse a wrong login with 304 and limit attempts
efrilm and Claude Opus 5.5
2026-10-09 22:59:27 +07:00
19afa50b9c
feat(customers): store customer phone numbers as 62…
efrilm and Claude Opus 5.5
2026-10-09 22:58:24 +07:00
4b7eddbd3e
fix(cors): allow the Idempotency-Key header
efrilm and Claude Opus 5.5
2026-10-09 22:58:02 +07:00
4c5d8f33d5
Merge pull request 'feat(enakgame): filter play history by game and status' (#45 ) from feat/enakgame into staging
aefril
2026-10-09 15:24:14 +02:00
52e8fe11c6
feat(enakgame): filter play history by game and status
efrilm and Claude Opus 5.5
2026-10-08 12:51:39 +07:00
c515c7cc0a
Merge pull request 'Feat/enakgame' (#44 ) from feat/enakgame into staging
aefril
2026-10-08 06:11:54 +02:00
b5d2cd491a
docs: integration guides for mobile customer, POS, EnakGame and backoffice
efrilm and Claude Opus 5.5
2026-10-08 11:10:05 +07:00
1bb071aec6
refactor(vouchers): move voucher routes out of /enakgame
efrilm and Claude Opus 5.5
2026-10-08 11:09:57 +07:00
325ad8fc5a
Merge pull request 'Feat/enakgame' (#43 ) from feat/enakgame into staging
aefril
2026-10-08 04:36:09 +02:00
a320e66705
Merge pull request 'Feat/disable point payment' (#42 ) from feat/disable-point-payment into staging
aefril
2026-10-08 04:34:09 +02:00
d6114a9fa9
Merge pull request 'Main' (#41 ) from main into staging
aefril
2026-10-08 04:32:24 +02:00
18e87398bb
feat(enakgame): spin as an EnakGame game; remove the old game flow
efrilm and Claude Opus 5.5
2026-10-07 21:31:56 +07:00
296708244e
feat(enakgame): budget controller recommendations and analytics
efrilm and Claude Opus 5.5
2026-10-07 21:18:31 +07:00
798a36bd6c
feat(enakgame): game sessions, rewards, vouchers, budgets and events
efrilm and Claude Opus 5.5
2026-10-07 20:53:14 +07:00
2c9753fae7
feat(loyalty): remove paying with EnakPoint
feat/disable-point-payment
efrilm and Claude Opus 5.5
2026-10-07 13:48:29 +07:00
3ebc09f818
docs(enakgame): PRD, RFC, and task breakdown
efrilm and Claude Opus 5.5
2026-10-07 13:48:17 +07:00
117e3529aa
feat: update profit sharing
main
efrilm
2026-10-04 21:54:13 +07:00
b59b7b4ddd
feat: update parent category detail
efrilm
2026-10-03 00:15:43 +07:00
fbe7e97dc7
feat: add limit owner
efrilm
2026-10-02 23:30:03 +07:00
b372821b23
feat: add percentage loyalti setting mode
efrilm
2026-10-02 14:19:12 +07:00
d3e3ea6b08
Merge pull request 'feat: add printer types' (#40 ) from fix/point-payment-method-types into main
aefril
2026-10-01 17:43:53 +02:00
b0ef226af1
feat: add printer types
fix/point-payment-method-types
efrilm
2026-10-01 22:26:44 +07:00
79226bd891
Merge pull request 'Fix/customer register organization' (#39 ) from fix/customer-register-organization into main
aefril
2026-09-30 18:52:34 +02:00
306eabb1d9
Merge pull request 'Fix/point payment method types' (#38 ) from fix/point-payment-method-types into main
aefril
2026-09-30 18:29:57 +02:00
892575202b
fix(orders): keep the customer a new order is created for
efrilm and Claude Opus 5.5
2026-09-30 23:29:17 +07:00
c9654a387a
fix(migrations): keep every payment method type in use
efrilm and Claude Opus 5.5
2026-09-30 22:59:44 +07:00
e94eb2c26d
Merge pull request 'Staging' (#37 ) from staging into main
aefril
2026-09-30 17:39:27 +02:00
e8b31035f7
Merge pull request 'fix(docker): healthcheck the port the app listens on' (#36 ) from fix/dockerfile-healthcheck-port into staging
aefril
2026-09-30 17:37:40 +02:00
100e006218
fix(docker): healthcheck the port the app listens on
fix/dockerfile-healthcheck-port
efrilm and Claude Opus 5.5
2026-09-30 22:35:20 +07:00
f16a5da951
docs(customer): mobile app guide, outlets, order history and registration
fix/customer-register-organization
efrilm and Claude Opus 5.5
2026-09-30 19:39:52 +07:00
a24d5f0561
feat(customer): order history and detail for the customer app
efrilm and Claude Opus 5.5
2026-09-30 19:36:35 +07:00
c1ec6a3dfd
feat(customer): list the customer's outlets
efrilm and Claude Opus 5.5
2026-09-30 19:21:13 +07:00
8bf2fe5585
fix(customer-auth): make organization_id optional at registration
efrilm and Claude Opus 5.5
2026-09-30 18:16:31 +07:00
a3cb7dd5fd
fix(customer-auth): register customers into the app's organization
efrilm and Claude Opus 5.5
2026-09-30 18:12:26 +07:00
609d434976
Merge pull request 'Hotfix/deployment' (#35 ) from hotfix/deployment into staging
aefril
2026-09-30 12:06:32 +02:00
35fe5703fd
fix(loyalty): keep tokens removed after merging staging
hotfix/deployment
efrilm and Claude Opus 5.5
2026-09-30 17:05:42 +07:00
e200923b72
Merge branch 'staging' into hotfix/deployment
efrilm
2026-09-30 17:04:36 +07:00
c988a79d3b
refactor(loyalty): remove what is left of tokens
efrilm and Claude Opus 5.5
2026-09-30 16:55:27 +07:00
9b21af8892
fix(deploy): require explicit environment and isolate containers per env
efrilm and Claude Opus 5.5
2026-09-30 15:32:25 +07:00
582dc75543
Reapply "feat(loyalty): EnakPoint & EnakCoin" (#32 )
efrilm
2026-09-30 15:31:44 +07:00
c6062c4bb9
Reapply "feat(loyalty): EnakPoint & EnakCoin" (#32 )
efrilm
2026-09-30 15:31:11 +07:00
5e28b05770
Merge pull request 'Main' (#33 ) from main into staging
aefril
2026-09-30 10:17:35 +02:00
4e24f9bbb0
Revert "feat(loyalty): EnakPoint & EnakCoin" (#32 )
efrilm and Claude Opus 5.5
2026-09-30 15:16:15 +07:00
645da3048e
Merge pull request 'feat(loyalty): EnakPoint & EnakCoin' (#32 ) from feature/point-coint into main
aefril
2026-09-30 10:03:03 +02:00
ae8003c1e4
docs(loyalty): API reference and backoffice guide for EnakPoint & EnakCoin
feature/point-coint
efrilm and Claude Opus 5.5
2026-09-30 15:01:02 +07:00
3cd88a55c8
docs(loyalty): EnakPoint & EnakCoin integration guide
efrilm and Claude Opus 5.5
2026-09-30 14:46:06 +07:00
d1e543a79f
refactor(loyalty): remove the dead customer points and tokens code
efrilm and Claude Opus 5.5
2026-09-30 14:43:15 +07:00
550122f29c
feat(loyalty): remind customers before balances expire
efrilm and Claude Opus 5.5
2026-09-30 14:35:12 +07:00
d293786cde
feat(loyalty): expire balances whose time is up
efrilm and Claude Opus 5.5
2026-09-30 14:31:38 +07:00
4d63673a25
feat(loyalty): give new balances their expiry
efrilm and Claude Opus 5.5
2026-09-30 13:29:25 +07:00
9ce55e6002
feat(loyalty): expiry settings for both expiry models
efrilm and Claude Opus 5.5
2026-09-30 13:23:40 +07:00
4432f0a10d
feat(loyalty): push a locked PIN through FCM
efrilm and Claude Opus 5.5
2026-09-30 12:33:20 +07:00
bf9651e221
feat(loyalty): notify transfer recipients through FCM
efrilm and Claude Opus 5.5
2026-09-30 12:30:14 +07:00
8bf1d5c1a8
feat(loyalty): trace a wallet row lot by lot in the dashboard
efrilm and Claude Opus 5.5
2026-09-30 12:25:17 +07:00
a18bb072f5
feat(loyalty): pay every game with EnakCoin
efrilm and Claude Opus 5.5
2026-09-30 12:20:42 +07:00
694d65b6d8
feat(loyalty): send EnakPoint and EnakCoin to another customer
efrilm and Claude Opus 5.5
2026-09-30 12:14:32 +07:00
ab3425070b
feat(loyalty): exchange EnakCoin into EnakPoint
efrilm and Claude Opus 5.5
2026-09-30 12:09:53 +07:00
0b52edf84e
feat(loyalty): report EnakPoint apart from money received
efrilm and Claude Opus 5.5
2026-09-30 11:59:33 +07:00
d7138b8f87
feat(loyalty): refund EnakPoint payments as EnakPoint only
efrilm and Claude Opus 5.5
2026-09-30 11:55:30 +07:00
43eac0ced4
feat(loyalty): pay own orders with EnakPoint from the app
efrilm and Claude Opus 5.5
2026-09-30 11:49:49 +07:00
4b3beaed41
feat(loyalty): pay orders with EnakPoint at the cashier
efrilm and Claude Opus 5.5
2026-09-30 11:46:31 +07:00
0c4dd72583
feat(loyalty): one-time EnakPoint payment code
efrilm and Claude Opus 5.5
2026-09-30 11:37:20 +07:00
cf5332c281
feat(loyalty): EnakPoint payment method
efrilm and Claude Opus 5.5
2026-09-30 11:33:25 +07:00
fe2f459b03
feat(loyalty): organization loyalty settings API
efrilm and Claude Opus 5.5
2026-09-30 11:26:16 +07:00
8370851ed2
feat(loyalty): customer PIN
efrilm and Claude Opus 5.5
2026-09-30 11:20:29 +07:00
fc97c78300
feat(loyalty): show what an order earned on the order and receipt
efrilm and Claude Opus 5.5
2026-09-30 10:50:37 +07:00
eb5b63677f
feat(loyalty): take back earning when an order is voided or refunded
efrilm and Claude Opus 5.5
2026-09-30 10:45:33 +07:00
78c0c11774
feat(loyalty): earn EnakPoint and EnakCoin when an order is paid
efrilm and Claude Opus 5.5
2026-09-30 10:40:05 +07:00
5baed18b22
feat(loyalty): earning calculator
efrilm and Claude Opus 5.5
2026-09-30 10:31:09 +07:00
2bd53ee4a4
feat(loyalty): outlet loyalty settings API
efrilm and Claude Opus 5.5
2026-09-30 10:28:40 +07:00
39e47ff0e6
feat(loyalty): typed loyalty settings with change history
efrilm and Claude Opus 5.5
2026-09-30 10:23:08 +07:00
040780cd2d
feat(wallet): reconcile balances, ledger and lots on a schedule
efrilm and Claude Opus 5.5
2026-09-30 10:13:46 +07:00
a6d5a8b056
feat(wallet): customer wallet and manual adjustments in the dashboard
efrilm and Claude Opus 5.5
2026-09-30 09:36:18 +07:00
e5db0325cc
feat(wallet): serve customer balances and history from the wallet
efrilm and Claude Opus 5.5
2026-09-30 09:15:26 +07:00
41b75810fd
feat(wallet): migrate legacy points and tokens into the wallet
efrilm and Claude Opus 5.5
2026-09-30 08:47:48 +07:00
6af97f5696
fix(wallet): stop logging new idempotency keys as errors
efrilm and Claude Opus 5.5
2026-09-30 08:47:37 +07:00
2eb590caab
feat(wallet): add wallet engine as the only way to change a balance
efrilm and Claude Opus 5.5
2026-09-30 08:47:37 +07:00
fc5eecb68a
feat(wallet): add wallet entities and repository
efrilm and Claude Opus 5.5
2026-09-30 01:01:03 +07:00
b107f4ef04
feat(settings): add organization settings and loyalty setting history
efrilm and Claude Opus 5.5
2026-09-30 01:01:02 +07:00
84401cc708
feat(wallet): add wallet, ledger and lot tables
efrilm and Claude Opus 5.5
2026-09-30 01:01:01 +07:00
f0ff59fea7
Merge pull request 'fix(analytics): cost weighed lines by weight, not row count' (#31 ) from feature/weight-based-products into main
aefril
2026-09-06 18:07:46 +02:00
923c108690
fix(analytics): cost weighed lines by weight, not row count
feature/weight-based-products
efrilm and Claude Opus 5
2026-09-06 23:06:31 +07:00
1edeaa0a48
Merge pull request 'fix(order): carry item weight through the contract-to-model transformer' (#30 ) from feature/weight-based-products into main
aefril
2026-09-06 17:46:07 +02:00
f2701882dc
fix(order): carry item weight through the contract-to-model transformer
efrilm and Claude Opus 5
2026-09-06 22:44:55 +07:00
c9311997a7
Merge pull request 'Feature/weight based products' (#29 ) from feature/weight-based-products into main
aefril
2026-09-06 17:13:51 +02:00
ebf666c004
feat(product): require a unit for weight-based products
efrilm and Claude Opus 5
2026-09-06 17:29:34 +07:00
d3987c7114
docs(order): add weight-based product integration guide
efrilm and Claude Opus 5
2026-09-06 17:20:22 +07:00
992bb04816
feat(order): support weight-based products
efrilm and Claude Opus 5
2026-09-06 17:14:42 +07:00
1e5573af75
Merge pull request 'feat: cash advance' (#28 ) from dev into main
aefril
2026-08-13 09:39:53 +02:00
2c6864147b
feat: cash advance
dev
Efril
2026-08-13 14:38:28 +07:00
b42d141927
Merge pull request 'Dev' (#27 ) from dev into main
aefril
2026-08-11 17:46:43 +02:00
e6078e3c0b
feat(purchase
Efril
2026-08-11 22:41:10 +07:00
dbc143954c
feat(purchase): unwired unit convertions
efrilm
2026-08-11 21:24:24 +07:00
0726fcecf0
feat(ingredients): make units nullable
efrilm
2026-08-11 21:20:17 +07:00
9ae5be2c33
feat(purchasae): added team with category parent and central
efrilm
2026-08-11 16:39:13 +07:00
a230199ce0
Merge pull request 'feat(products): sort by' (#26 ) from staging into main
aefril
2026-08-11 15:48:00 +02:00
4f7e774043
feat(products): sort by
Efril
2026-08-11 20:47:38 +07:00
793ef10ce8
Merge pull request 'feat(category): update list filter category' (#25 ) from staging into main
aefril
2026-08-11 15:42:49 +02:00