@feedmepos/mf-order-setting 0.0.86 → 0.0.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{DisplaySystemView-DjFBEWoq.js → DisplaySystemView-Dx4As33V.js} +1 -1
- package/dist/{KioskDevicesView-RKMdLuB3.js → KioskDevicesView-Ziu9ekHK.js} +1 -1
- package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-BrG6Au5z.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-Bki-OF23.js} +3 -3
- package/dist/{KioskSettingView-CzelEig6.js → KioskSettingView-BlLW-tDD.js} +3 -3
- package/dist/{KioskView-Bi5Kc4cS.js → KioskView-CzlaEjMR.js} +5 -5
- package/dist/{OrderSettingsView-BfxrjGAi.js → OrderSettingsView-B69It-yu.js} +16654 -16507
- package/dist/{app-Bg-n-Eug.js → app-C8jy3wlN.js} +324 -248
- package/dist/app.js +1 -1
- package/dist/common/sms/index.d.ts +14 -3
- package/dist/frontend/mf-order/src/app.d.ts +76 -0
- package/dist/frontend/mf-order/src/main.d.ts +76 -0
- package/dist/frontend/mf-order/src/stores/order-setting/index.d.ts +6 -0
- package/dist/frontend/mf-order/src/views/order-settings/components/NotifyChannelEditor.vue.d.ts +11 -0
- package/dist/frontend/mf-order/src/views/order-settings/components/notify-channel-country.d.ts +1 -0
- package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{index-C7Ug4fCi.js → index-DNvUwB59.js} +1 -1
- package/dist/{index-g_rocKrp.js → index-DiRlxqKH.js} +2 -2
- package/dist/{index-0eYg6XEb.js → index-VtBPFvME.js} +1 -1
- package/dist/{order.dto-MKeJAj6d.js → order.dto-CFw4X11T.js} +3708 -3631
- package/dist/package/entity/incoming-order/incoming-order-to-bill.dto.d.ts +10 -1
- package/dist/package/entity/index.d.ts +2 -0
- package/dist/package/entity/index.frontend.d.ts +2 -0
- package/dist/package/entity/order-platform/external/order/external-order.do.d.ts +7 -0
- package/dist/package/entity/order-setting/notification/notification.enum.d.ts +50 -0
- package/dist/package/entity/order-setting/notification/notification.route.d.ts +91 -0
- package/dist/package/entity/order-setting/order-setting.do.d.ts +10 -0
- package/dist/package/entity/order-setting/order-setting.dto.d.ts +20 -0
- package/dist/package/entity/order-setting/queue/queue.do.d.ts +17 -0
- package/dist/package/entity/order-setting/queue/queue.dto.d.ts +4 -0
- package/dist/package/entity/order-setting/sms/sms.do.d.ts +14 -0
- package/dist/package/entity/order-setting/sms/sms.dto.d.ts +4 -0
- package/dist/package/entity/restaurant/restaurant.dto.d.ts +10 -0
- package/package.json +1 -1
- package/src/locales/en-US.json +20 -1
- package/src/locales/ja-JP.json +20 -1
- package/src/locales/th-TH.json +20 -1
- package/src/locales/zh-CN.json +20 -1
- package/src/views/order-settings/OrderSettingsView.vue +1 -1
- package/src/views/order-settings/components/NotifyChannelEditor.vue +130 -0
- package/src/views/order-settings/components/notify-channel-country.spec.ts +20 -0
- package/src/views/order-settings/components/notify-channel-country.ts +21 -0
- package/src/views/order-settings/queue/QueueSetting.vue +7 -0
- package/src/views/order-settings/sms/SmsSetting.vue +41 -1
- package/src/views/order-settings/sms/notify-channels-dto.spec.ts +42 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FdoBillItemRef, FdoDinero, FdoBillItemVariantSelected, FdoUser, FdoFinalBillEffect, FdoBillAdjustment, FdoPayment, FdoBillDynamicQrSession, FdoServiceChargeSetting, FdoDineroRoundingType } from '@feedmepos/core/entity';
|
|
1
|
+
import { FdoBillItemRef, FdoDinero, FdoBillItemVariantSelected, FdoUser, FdoFinalBillEffect, FdoBillAdjustment, FdoPayment, FdoBillDynamicQrSession, FdoItemAdjustment, FdoServiceChargeSetting, FdoDineroRoundingType } from '@feedmepos/core/entity';
|
|
2
2
|
import { FdtoEnrichedMember } from '../member/member.dto';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
type SerializableZodObject<T> = z.ZodObject<z.ZodRawShape, 'strip', z.ZodTypeAny, T>;
|
|
@@ -16583,6 +16583,15 @@ export type FdtoOrderItemSubItem = {
|
|
|
16583
16583
|
* fallback to the charged price, which would make the field a tautology.
|
|
16584
16584
|
*/
|
|
16585
16585
|
menuItemPrice?: FdoDinero | null | undefined;
|
|
16586
|
+
/**
|
|
16587
|
+
* Core sub-item adjustments, carried verbatim from the platform transform onto the bill.
|
|
16588
|
+
*
|
|
16589
|
+
* Recorded so an addon discount the partner already applied survives as a bill line. Below
|
|
16590
|
+
* calculator v16 core ignores the field entirely; from v16 it promotes each entry onto the
|
|
16591
|
+
* parent item (`targetScope: SUB_ITEM`) and subtracts it, which is why the producer grosses
|
|
16592
|
+
* up the sibling `price` to match — see `subItemToSubBillItemRef`.
|
|
16593
|
+
*/
|
|
16594
|
+
adjustments?: Record<string, FdoItemAdjustment> | null | undefined;
|
|
16586
16595
|
};
|
|
16587
16596
|
export declare const FdtoOrderItemSubItem: z.Schema<FdtoOrderItemSubItem>;
|
|
16588
16597
|
export declare const FdtoOrderItemProduct: z.ZodObject<{
|
|
@@ -71,6 +71,8 @@ export * from './order-setting/dine-in/dine-in.do';
|
|
|
71
71
|
export * from './order-setting/dine-in/dine-in.dto';
|
|
72
72
|
export * from './order-setting/delivery/inhouse-delivery.do';
|
|
73
73
|
export * from './order-setting/delivery/inhouse-delivery.dto';
|
|
74
|
+
export * from './order-setting/notification/notification.enum';
|
|
75
|
+
export * from './order-setting/notification/notification.route';
|
|
74
76
|
export * from './order-setting/kiosk/kiosk.enum';
|
|
75
77
|
export * from './order-setting/kiosk/kiosk.do';
|
|
76
78
|
export * from './order-setting/kiosk/kiosk.dto';
|
|
@@ -44,6 +44,8 @@ export * from './order-setting/auto-accept.dto';
|
|
|
44
44
|
export * from './order-setting/auto-send.resolve';
|
|
45
45
|
export * from './order-setting/pickup/pickup.dto';
|
|
46
46
|
export * from './order-setting/queue/queue.do';
|
|
47
|
+
export * from './order-setting/notification/notification.enum';
|
|
48
|
+
export * from './order-setting/notification/notification.route';
|
|
47
49
|
export * from './order-setting/sequence/sequence.do';
|
|
48
50
|
export * from './order-setting/sequence/sequence.dto';
|
|
49
51
|
export * from './order-setting/sms/sms.dto';
|
|
@@ -866,6 +866,13 @@ export type FdoExternalOrderSubItem = {
|
|
|
866
866
|
quantity: number;
|
|
867
867
|
variantSelected?: FdoExternalVariantSelected | null | undefined;
|
|
868
868
|
subItems: FdoExternalOrderSubItem[];
|
|
869
|
+
/**
|
|
870
|
+
* Per-addon discounts. INFORMATIONAL: the sibling [`price`] must already be NET of these
|
|
871
|
+
* amounts, and they must NOT be deducted again from `price.subTotal` or `price.totalAmount`.
|
|
872
|
+
* Recorded on the bill so the addon shows as discounted; it does not change what FeedMe bills.
|
|
873
|
+
* `price`, `amount` and `merchantFundAmount` are all per ONE unit of this addon, not per line.
|
|
874
|
+
*/
|
|
875
|
+
discounts?: FdoExternalOrderDiscount[] | null | undefined;
|
|
869
876
|
};
|
|
870
877
|
export declare const FdoExternalOrderSubItem: z.ZodType<FdoExternalOrderSubItem>;
|
|
871
878
|
export declare const FdoExternalOrderItem: z.ZodObject<{
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Delivery channels a customer-facing order notification can be routed through.
|
|
4
|
+
*
|
|
5
|
+
* The names mirror sms-backend's `POST /multi-channel/send` `channels` enum
|
|
6
|
+
* EXACTLY (see https://sms-dev.feedmeapi.com/api-reference/). They are sent over
|
|
7
|
+
* the wire verbatim, so renaming a member here silently breaks routing — the
|
|
8
|
+
* request 400s with "a channel listed in channels has no matching entry under
|
|
9
|
+
* content" rather than falling back.
|
|
10
|
+
*
|
|
11
|
+
* EMAIL is listed because sms-backend accepts it, but ordering never routes it —
|
|
12
|
+
* `resolveChannels` drops it. See the note there for why.
|
|
13
|
+
*/
|
|
14
|
+
export declare const F_ORDER_NOTIFY_CHANNEL: z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>;
|
|
15
|
+
export type F_ORDER_NOTIFY_CHANNEL = z.infer<typeof F_ORDER_NOTIFY_CHANNEL>;
|
|
16
|
+
/**
|
|
17
|
+
* The customer-facing order events ordering-service notifies on.
|
|
18
|
+
*
|
|
19
|
+
* This is deliberately NOT `F_SMS_ACTION` (which has only ACCEPT and SERVE).
|
|
20
|
+
* Order status notifications are emitted from three different places with three
|
|
21
|
+
* different vocabularies:
|
|
22
|
+
*
|
|
23
|
+
* - order-backend accept flow -> ORDER_ACCEPTED (pickup and delivery)
|
|
24
|
+
* - POS notify-pickup-ready -> PICKUP_READY (pickup only)
|
|
25
|
+
* - queue-backend status change-> QUEUE_CALLED / QUEUE_CANCELLED
|
|
26
|
+
*
|
|
27
|
+
* A single event vocabulary is what lets one notification service own channel
|
|
28
|
+
* routing, the app-inbox title, and the billing `notificationType` for all of
|
|
29
|
+
* them. Adding a delivery-progress event later (driver assigned, on the way) is
|
|
30
|
+
* a new member here plus a new row in the two maps in `notification.fn.ts` —
|
|
31
|
+
* both are exhaustive over this enum, so the compiler names every place that
|
|
32
|
+
* needs updating.
|
|
33
|
+
*/
|
|
34
|
+
export declare const F_ORDER_NOTIFY_EVENT: z.ZodEnum<["ORDER_ACCEPTED", "PICKUP_READY", "QUEUE_CALLED", "QUEUE_CANCELLED"]>;
|
|
35
|
+
export type F_ORDER_NOTIFY_EVENT = z.infer<typeof F_ORDER_NOTIFY_EVENT>;
|
|
36
|
+
/**
|
|
37
|
+
* Billing / usage categories sms-backend recognises, shared by the SMS `usage`
|
|
38
|
+
* field and the App Inbox `notificationType` field.
|
|
39
|
+
*
|
|
40
|
+
* Two things make this worth pinning as an enum rather than passing strings:
|
|
41
|
+
*
|
|
42
|
+
* 1. sms-backend rejects an UNPRICED `notificationType` with a 400 — it is
|
|
43
|
+
* treated as a malformed request, not a soft failure. So a typo here is not
|
|
44
|
+
* a mispriced send, it is every send failing.
|
|
45
|
+
* 2. `notificationType` DEFAULTS TO 'Marketing' when omitted. For a
|
|
46
|
+
* transactional order update that both prices it as marketing and shows the
|
|
47
|
+
* marketing icon in the app inbox, so it must always be sent explicitly.
|
|
48
|
+
*/
|
|
49
|
+
export declare const F_ORDER_NOTIFY_USAGE: z.ZodEnum<["General", "Otp", "Marketing", "MarketingPremium", "Ordering", "MemberInvitation", "MarketingPromotion", "Operational", "Queue", "QueuePremium"]>;
|
|
50
|
+
export type F_ORDER_NOTIFY_USAGE = z.infer<typeof F_ORDER_NOTIFY_USAGE>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { F_ORDER_NOTIFY_CHANNEL } from './notification.enum';
|
|
2
|
+
/**
|
|
3
|
+
* Which channels an order notification actually goes out on, given what the
|
|
4
|
+
* merchant configured.
|
|
5
|
+
*
|
|
6
|
+
* Shared by order-backend (which sends) and mf-order (which shows the merchant
|
|
7
|
+
* what their configuration will do), so the two cannot disagree. Import it
|
|
8
|
+
* relatively from the backend rather than through the `@entity` barrel, same as
|
|
9
|
+
* `auto-send.resolve.ts`.
|
|
10
|
+
*/
|
|
11
|
+
/** The only channel every merchant has today, and the end of every fallback chain. */
|
|
12
|
+
export declare const DEFAULT_CHANNELS: F_ORDER_NOTIFY_CHANNEL[];
|
|
13
|
+
export interface ResolveChannelsInput {
|
|
14
|
+
/** The merchant's configured list. Nullish or empty means "not configured". */
|
|
15
|
+
configured?: F_ORDER_NOTIFY_CHANNEL[] | null;
|
|
16
|
+
/**
|
|
17
|
+
* Whether we have a Firebase uid for this customer. Without one, neither
|
|
18
|
+
* APP_INBOX nor PUSH_NOTIFICATION has a recipient — both APIs address by
|
|
19
|
+
* `firebaseUid` and `phoneNumber` is record-only on both — so neither can be
|
|
20
|
+
* routed. Named for app inbox because that channel landed first; it gates
|
|
21
|
+
* push identically, not a second, separate requirement.
|
|
22
|
+
*/
|
|
23
|
+
hasAppInboxUid: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Turn a merchant's configured channel list into the list we will actually send.
|
|
27
|
+
*
|
|
28
|
+
* Four rules, in order:
|
|
29
|
+
*
|
|
30
|
+
* 1. Not configured -> `['SMS']`. This is what keeps every existing merchant on
|
|
31
|
+
* byte-identical behaviour: no field, no change.
|
|
32
|
+
* 2. EMAIL is dropped. An order carries no customer email address at all —
|
|
33
|
+
* `FdoOrderOption` has `contactNumber` and nothing else — so there is
|
|
34
|
+
* nothing to address. Sending it anyway would have sms-backend refuse the
|
|
35
|
+
* channel and fall through, which works but bills a refusal row and hides
|
|
36
|
+
* a misconfiguration. Dropping it here makes the misconfiguration inert.
|
|
37
|
+
* Supporting email means collecting an address at checkout first.
|
|
38
|
+
* 3. APP_INBOX and PUSH_NOTIFICATION are both dropped when there is no Firebase
|
|
39
|
+
* uid (guest / anonymous order, or a kiosk/external-loyalty identifier that
|
|
40
|
+
* is not a real account). APP_INBOX does not additionally require a
|
|
41
|
+
* registered device: sms-backend stores the message against the uid and
|
|
42
|
+
* reads it back by uid, so it reaches an account that has never opened the
|
|
43
|
+
* app — the message is waiting the first time they do. PUSH_NOTIFICATION
|
|
44
|
+
* does require one (no FCM token, no send), but that is sms-backend's own
|
|
45
|
+
* gate at send time — `presendCheck` refuses and falls through cleanly, so
|
|
46
|
+
* it is not re-checked here.
|
|
47
|
+
*
|
|
48
|
+
* PUSH_NOTIFICATION used to be dropped unconditionally, regardless of a
|
|
49
|
+
* uid: sms-backend had no FCM integration behind the channel, so a routed
|
|
50
|
+
* send was billed and logged but never reached a device, and its
|
|
51
|
+
* `Accepted` still stopped a fallback chain — charging the merchant and
|
|
52
|
+
* telling the customer nothing. Real FCM delivery shipped 2026-09-23
|
|
53
|
+
* (sms-backend-v0.8.14), which is what makes routing it here correct now.
|
|
54
|
+
* 4. If those drops empty the list, fall back to `['SMS']` rather than sending
|
|
55
|
+
* nothing. A customer waiting on their food must still be told.
|
|
56
|
+
*
|
|
57
|
+
* Duplicates are removed because sms-backend rejects the whole request when a
|
|
58
|
+
* channel appears twice in `channels`.
|
|
59
|
+
*/
|
|
60
|
+
export declare function resolveChannels({ configured, hasAppInboxUid, }: ResolveChannelsInput): F_ORDER_NOTIFY_CHANNEL[];
|
|
61
|
+
export interface SendPlan {
|
|
62
|
+
/**
|
|
63
|
+
* Sent as its own request, whatever the chain does. Either empty or
|
|
64
|
+
* `[APP_INBOX]`.
|
|
65
|
+
*/
|
|
66
|
+
alongside: F_ORDER_NOTIFY_CHANNEL[];
|
|
67
|
+
/** The fallback chain, in the merchant's order. Never empty. */
|
|
68
|
+
chain: F_ORDER_NOTIFY_CHANNEL[];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Split resolved channels into what is sent regardless and what falls back.
|
|
72
|
+
*
|
|
73
|
+
* When push is routed, app inbox comes out of the chain and goes on its own.
|
|
74
|
+
* The two do different jobs: push is the alert, app inbox is the record the
|
|
75
|
+
* customer can come back to. In one fallback chain they cannot both happen, and
|
|
76
|
+
* the chain cannot tell when it should have moved on. Push's `Accepted` only
|
|
77
|
+
* means FCM took the message. A customer who has turned notifications off still
|
|
78
|
+
* has a valid token, so FCM accepts, the chain stops, and nothing is shown and
|
|
79
|
+
* nothing is kept. Sent alongside, the inbox entry is there either way.
|
|
80
|
+
*
|
|
81
|
+
* Taking app inbox out also puts SMS back behind push. In the chain
|
|
82
|
+
* `[PUSH_NOTIFICATION, APP_INBOX, SMS]`, a failed push landed on app inbox,
|
|
83
|
+
* which is accepted for any uid, so SMS could never be reached. Now a push that
|
|
84
|
+
* fails, for example because the customer has no registered device, falls
|
|
85
|
+
* through to SMS.
|
|
86
|
+
*
|
|
87
|
+
* Without push, nothing changes. A merchant routing `[APP_INBOX, SMS]` chose
|
|
88
|
+
* the inbox in place of SMS to save the SMS cost. Sending both would override
|
|
89
|
+
* that choice and bill SMS on every order.
|
|
90
|
+
*/
|
|
91
|
+
export declare function planSends(channels: F_ORDER_NOTIFY_CHANNEL[]): SendPlan;
|
|
@@ -765,11 +765,13 @@ export declare const FdoOrderSettings: z.ZodObject<{
|
|
|
765
765
|
}>, "many">>>;
|
|
766
766
|
disableRemoteQueue: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
767
767
|
disableSMS: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
768
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
768
769
|
printChecklist: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
769
770
|
autoSendKitchen: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
770
771
|
enableQueueToTabletTransfer: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
771
772
|
}, "strip", z.ZodTypeAny, {
|
|
772
773
|
autoSendKitchen?: boolean | null | undefined;
|
|
774
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
773
775
|
showWaitEstimate?: boolean | null | undefined;
|
|
774
776
|
codeSettings?: {
|
|
775
777
|
id?: string | null | undefined;
|
|
@@ -798,6 +800,7 @@ export declare const FdoOrderSettings: z.ZodObject<{
|
|
|
798
800
|
autoCalledLimit: number;
|
|
799
801
|
}, {
|
|
800
802
|
autoSendKitchen?: boolean | null | undefined;
|
|
803
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
801
804
|
showWaitEstimate?: boolean | null | undefined;
|
|
802
805
|
codeSettings?: {
|
|
803
806
|
id?: string | null | undefined;
|
|
@@ -839,7 +842,9 @@ export declare const FdoOrderSettings: z.ZodObject<{
|
|
|
839
842
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
840
843
|
raw: string;
|
|
841
844
|
}>;
|
|
845
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
842
846
|
}, "strip", z.ZodTypeAny, {
|
|
847
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
843
848
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
844
849
|
message: {
|
|
845
850
|
keys: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number">;
|
|
@@ -848,6 +853,7 @@ export declare const FdoOrderSettings: z.ZodObject<{
|
|
|
848
853
|
enable: boolean;
|
|
849
854
|
action: "ACCEPT" | "SERVE";
|
|
850
855
|
}, {
|
|
856
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
851
857
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
852
858
|
message: {
|
|
853
859
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
@@ -1117,6 +1123,7 @@ export declare const FdoOrderSettings: z.ZodObject<{
|
|
|
1117
1123
|
} | null | undefined;
|
|
1118
1124
|
queueSettings?: {
|
|
1119
1125
|
autoSendKitchen?: boolean | null | undefined;
|
|
1126
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1120
1127
|
showWaitEstimate?: boolean | null | undefined;
|
|
1121
1128
|
codeSettings?: {
|
|
1122
1129
|
id?: string | null | undefined;
|
|
@@ -1145,6 +1152,7 @@ export declare const FdoOrderSettings: z.ZodObject<{
|
|
|
1145
1152
|
autoCalledLimit: number;
|
|
1146
1153
|
} | null | undefined;
|
|
1147
1154
|
smsSettings?: {
|
|
1155
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1148
1156
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
1149
1157
|
message: {
|
|
1150
1158
|
keys: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number">;
|
|
@@ -1323,6 +1331,7 @@ export declare const FdoOrderSettings: z.ZodObject<{
|
|
|
1323
1331
|
} | null | undefined;
|
|
1324
1332
|
queueSettings?: {
|
|
1325
1333
|
autoSendKitchen?: boolean | null | undefined;
|
|
1334
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1326
1335
|
showWaitEstimate?: boolean | null | undefined;
|
|
1327
1336
|
codeSettings?: {
|
|
1328
1337
|
id?: string | null | undefined;
|
|
@@ -1351,6 +1360,7 @@ export declare const FdoOrderSettings: z.ZodObject<{
|
|
|
1351
1360
|
autoCalledLimit: number;
|
|
1352
1361
|
} | null | undefined;
|
|
1353
1362
|
smsSettings?: {
|
|
1363
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1354
1364
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
1355
1365
|
message: {
|
|
1356
1366
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
@@ -623,11 +623,13 @@ export declare const OrderSettingsDto: z.ZodObject<{
|
|
|
623
623
|
}>, "many">>>;
|
|
624
624
|
disableRemoteQueue: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
625
625
|
disableSMS: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
626
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
626
627
|
printChecklist: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
627
628
|
autoSendKitchen: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
628
629
|
enableQueueToTabletTransfer: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
629
630
|
}, "strip", z.ZodTypeAny, {
|
|
630
631
|
autoSendKitchen?: boolean | null | undefined;
|
|
632
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
631
633
|
showWaitEstimate?: boolean | null | undefined;
|
|
632
634
|
codeSettings?: {
|
|
633
635
|
id?: string | null | undefined;
|
|
@@ -657,6 +659,7 @@ export declare const OrderSettingsDto: z.ZodObject<{
|
|
|
657
659
|
}, {
|
|
658
660
|
duration?: number | undefined;
|
|
659
661
|
autoSendKitchen?: boolean | null | undefined;
|
|
662
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
660
663
|
showWaitEstimate?: boolean | null | undefined;
|
|
661
664
|
codeSettings?: {
|
|
662
665
|
id?: string | null | undefined;
|
|
@@ -844,7 +847,9 @@ export declare const OrderSettingsDto: z.ZodObject<{
|
|
|
844
847
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
845
848
|
raw: string;
|
|
846
849
|
}>;
|
|
850
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
847
851
|
}, "strip", z.ZodTypeAny, {
|
|
852
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
848
853
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
849
854
|
message: {
|
|
850
855
|
keys: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number">;
|
|
@@ -853,6 +858,7 @@ export declare const OrderSettingsDto: z.ZodObject<{
|
|
|
853
858
|
enable: boolean;
|
|
854
859
|
action: "ACCEPT" | "SERVE";
|
|
855
860
|
}, {
|
|
861
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
856
862
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
857
863
|
message: {
|
|
858
864
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
@@ -1174,6 +1180,7 @@ export declare const OrderSettingsDto: z.ZodObject<{
|
|
|
1174
1180
|
} | null | undefined;
|
|
1175
1181
|
queueSettings?: {
|
|
1176
1182
|
autoSendKitchen?: boolean | null | undefined;
|
|
1183
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1177
1184
|
showWaitEstimate?: boolean | null | undefined;
|
|
1178
1185
|
codeSettings?: {
|
|
1179
1186
|
id?: string | null | undefined;
|
|
@@ -1202,6 +1209,7 @@ export declare const OrderSettingsDto: z.ZodObject<{
|
|
|
1202
1209
|
autoCalledLimit: number;
|
|
1203
1210
|
} | null | undefined;
|
|
1204
1211
|
smsSettings?: {
|
|
1212
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1205
1213
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
1206
1214
|
message: {
|
|
1207
1215
|
keys: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number">;
|
|
@@ -1401,6 +1409,7 @@ export declare const OrderSettingsDto: z.ZodObject<{
|
|
|
1401
1409
|
queueSettings?: {
|
|
1402
1410
|
duration?: number | undefined;
|
|
1403
1411
|
autoSendKitchen?: boolean | null | undefined;
|
|
1412
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1404
1413
|
showWaitEstimate?: boolean | null | undefined;
|
|
1405
1414
|
codeSettings?: {
|
|
1406
1415
|
id?: string | null | undefined;
|
|
@@ -1428,6 +1437,7 @@ export declare const OrderSettingsDto: z.ZodObject<{
|
|
|
1428
1437
|
autoCalledLimit: number;
|
|
1429
1438
|
} | null | undefined;
|
|
1430
1439
|
smsSettings?: {
|
|
1440
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1431
1441
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
1432
1442
|
message: {
|
|
1433
1443
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
@@ -2126,11 +2136,13 @@ export declare const OrderSettingUpdateDto: z.ZodObject<z.extendShape<Omit<{
|
|
|
2126
2136
|
}>, "many">>>;
|
|
2127
2137
|
disableRemoteQueue: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
2128
2138
|
disableSMS: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
2139
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
2129
2140
|
printChecklist: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
2130
2141
|
autoSendKitchen: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
2131
2142
|
enableQueueToTabletTransfer: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
2132
2143
|
}, "strip", z.ZodTypeAny, {
|
|
2133
2144
|
autoSendKitchen?: boolean | null | undefined;
|
|
2145
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
2134
2146
|
showWaitEstimate?: boolean | null | undefined;
|
|
2135
2147
|
codeSettings?: {
|
|
2136
2148
|
id?: string | null | undefined;
|
|
@@ -2160,6 +2172,7 @@ export declare const OrderSettingUpdateDto: z.ZodObject<z.extendShape<Omit<{
|
|
|
2160
2172
|
}, {
|
|
2161
2173
|
duration?: number | undefined;
|
|
2162
2174
|
autoSendKitchen?: boolean | null | undefined;
|
|
2175
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
2163
2176
|
showWaitEstimate?: boolean | null | undefined;
|
|
2164
2177
|
codeSettings?: {
|
|
2165
2178
|
id?: string | null | undefined;
|
|
@@ -2347,7 +2360,9 @@ export declare const OrderSettingUpdateDto: z.ZodObject<z.extendShape<Omit<{
|
|
|
2347
2360
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
2348
2361
|
raw: string;
|
|
2349
2362
|
}>;
|
|
2363
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
2350
2364
|
}, "strip", z.ZodTypeAny, {
|
|
2365
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
2351
2366
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
2352
2367
|
message: {
|
|
2353
2368
|
keys: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number">;
|
|
@@ -2356,6 +2371,7 @@ export declare const OrderSettingUpdateDto: z.ZodObject<z.extendShape<Omit<{
|
|
|
2356
2371
|
enable: boolean;
|
|
2357
2372
|
action: "ACCEPT" | "SERVE";
|
|
2358
2373
|
}, {
|
|
2374
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
2359
2375
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
2360
2376
|
message: {
|
|
2361
2377
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
@@ -3408,6 +3424,7 @@ export declare const OrderSettingUpdateDto: z.ZodObject<z.extendShape<Omit<{
|
|
|
3408
3424
|
} | null | undefined;
|
|
3409
3425
|
queueSettings?: {
|
|
3410
3426
|
autoSendKitchen?: boolean | null | undefined;
|
|
3427
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
3411
3428
|
showWaitEstimate?: boolean | null | undefined;
|
|
3412
3429
|
codeSettings?: {
|
|
3413
3430
|
id?: string | null | undefined;
|
|
@@ -3436,6 +3453,7 @@ export declare const OrderSettingUpdateDto: z.ZodObject<z.extendShape<Omit<{
|
|
|
3436
3453
|
autoCalledLimit: number;
|
|
3437
3454
|
} | null | undefined;
|
|
3438
3455
|
smsSettings?: {
|
|
3456
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
3439
3457
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
3440
3458
|
message: {
|
|
3441
3459
|
keys: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number">;
|
|
@@ -3614,6 +3632,7 @@ export declare const OrderSettingUpdateDto: z.ZodObject<z.extendShape<Omit<{
|
|
|
3614
3632
|
queueSettings?: {
|
|
3615
3633
|
duration?: number | undefined;
|
|
3616
3634
|
autoSendKitchen?: boolean | null | undefined;
|
|
3635
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
3617
3636
|
showWaitEstimate?: boolean | null | undefined;
|
|
3618
3637
|
codeSettings?: {
|
|
3619
3638
|
id?: string | null | undefined;
|
|
@@ -3641,6 +3660,7 @@ export declare const OrderSettingUpdateDto: z.ZodObject<z.extendShape<Omit<{
|
|
|
3641
3660
|
autoCalledLimit: number;
|
|
3642
3661
|
} | null | undefined;
|
|
3643
3662
|
smsSettings?: {
|
|
3663
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
3644
3664
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
3645
3665
|
message: {
|
|
3646
3666
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
@@ -235,8 +235,23 @@ export declare const FdoOrderQueueSettings: z.ZodObject<{
|
|
|
235
235
|
disableRemoteQueue: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
236
236
|
/**
|
|
237
237
|
* Disable sending SMS to customer when call queue or approaching
|
|
238
|
+
*
|
|
239
|
+
* Still the MASTER off switch for every queue notification channel, not just
|
|
240
|
+
* SMS — `channels` below only chooses how a notification is delivered, this
|
|
241
|
+
* decides whether one is sent at all. Kept as-is so an existing merchant who
|
|
242
|
+
* turned notifications off stays off.
|
|
238
243
|
*/
|
|
239
244
|
disableSMS: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
245
|
+
/**
|
|
246
|
+
* Channels queue notifications are routed through, in PRIORITY ORDER — index 0
|
|
247
|
+
* is the primary. Nullish or empty means `['SMS']`, i.e. today's behaviour.
|
|
248
|
+
*
|
|
249
|
+
* Separate from `smsSettings[].channels` because queue notifications do not go
|
|
250
|
+
* through `orderSetting.smsSettings` at all: they are emitted by queue-backend
|
|
251
|
+
* with a code-owned message and have no per-action setting rows to hang a
|
|
252
|
+
* channel list on.
|
|
253
|
+
*/
|
|
254
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
240
255
|
printChecklist: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
241
256
|
autoSendKitchen: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
242
257
|
/**
|
|
@@ -245,6 +260,7 @@ export declare const FdoOrderQueueSettings: z.ZodObject<{
|
|
|
245
260
|
enableQueueToTabletTransfer: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
246
261
|
}, "strip", z.ZodTypeAny, {
|
|
247
262
|
autoSendKitchen?: boolean | null | undefined;
|
|
263
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
248
264
|
showWaitEstimate?: boolean | null | undefined;
|
|
249
265
|
codeSettings?: {
|
|
250
266
|
id?: string | null | undefined;
|
|
@@ -273,6 +289,7 @@ export declare const FdoOrderQueueSettings: z.ZodObject<{
|
|
|
273
289
|
autoCalledLimit: number;
|
|
274
290
|
}, {
|
|
275
291
|
autoSendKitchen?: boolean | null | undefined;
|
|
292
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
276
293
|
showWaitEstimate?: boolean | null | undefined;
|
|
277
294
|
codeSettings?: {
|
|
278
295
|
id?: string | null | undefined;
|
|
@@ -92,6 +92,8 @@ export declare const RestaurantQueueSettingDto: z.ZodObject<{
|
|
|
92
92
|
* Disable sending SMS to customer when call queue or approaching
|
|
93
93
|
*/
|
|
94
94
|
disableSMS: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
95
|
+
/** Priority-ordered channels; nullish/empty = `['SMS']`. See FdoOrderQueueSettings. */
|
|
96
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
95
97
|
printChecklist: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
96
98
|
autoSendKitchen: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
97
99
|
/**
|
|
@@ -100,6 +102,7 @@ export declare const RestaurantQueueSettingDto: z.ZodObject<{
|
|
|
100
102
|
enableQueueToTabletTransfer: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
101
103
|
}, "strip", z.ZodTypeAny, {
|
|
102
104
|
autoSendKitchen?: boolean | null | undefined;
|
|
105
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
103
106
|
showWaitEstimate?: boolean | null | undefined;
|
|
104
107
|
codeSettings?: {
|
|
105
108
|
id?: string | null | undefined;
|
|
@@ -129,6 +132,7 @@ export declare const RestaurantQueueSettingDto: z.ZodObject<{
|
|
|
129
132
|
}, {
|
|
130
133
|
duration?: number | undefined;
|
|
131
134
|
autoSendKitchen?: boolean | null | undefined;
|
|
135
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
132
136
|
showWaitEstimate?: boolean | null | undefined;
|
|
133
137
|
codeSettings?: {
|
|
134
138
|
id?: string | null | undefined;
|
|
@@ -13,7 +13,20 @@ export declare const FdoOrderSmsSettings: z.ZodObject<{
|
|
|
13
13
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
14
14
|
raw: string;
|
|
15
15
|
}>;
|
|
16
|
+
/**
|
|
17
|
+
* Channels this notification is routed through, in PRIORITY ORDER — index 0 is
|
|
18
|
+
* the primary. Nullish or empty means `['SMS']`, which is what every merchant
|
|
19
|
+
* configured before app inbox existed, so an absent field keeps today's exact
|
|
20
|
+
* behaviour. See `resolveChannels` in backend/libs/notification/notification.fn.ts.
|
|
21
|
+
*
|
|
22
|
+
* Optional, and it must stay optional: mf-order runs
|
|
23
|
+
* `OrderSettingUpdateDto.parse` in the BROWSER and PUTs the whole settings
|
|
24
|
+
* object, so a portal bundle compiled before this field existed strips it on
|
|
25
|
+
* save. `OrderSettingService.preserveSmsSettingChannels` re-attaches it.
|
|
26
|
+
*/
|
|
27
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
16
28
|
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
17
30
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
18
31
|
message: {
|
|
19
32
|
keys: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number">;
|
|
@@ -22,6 +35,7 @@ export declare const FdoOrderSmsSettings: z.ZodObject<{
|
|
|
22
35
|
enable: boolean;
|
|
23
36
|
action: "ACCEPT" | "SERVE";
|
|
24
37
|
}, {
|
|
38
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
25
39
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
26
40
|
message: {
|
|
27
41
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
@@ -23,7 +23,10 @@ export declare const OrderSmsSettingDto: z.ZodObject<{
|
|
|
23
23
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
24
24
|
raw: string;
|
|
25
25
|
}>;
|
|
26
|
+
/** Priority-ordered channels; nullish/empty = `['SMS']`. See FdoOrderSmsSettings. */
|
|
27
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
26
28
|
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
27
30
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
28
31
|
message: {
|
|
29
32
|
keys: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number">;
|
|
@@ -32,6 +35,7 @@ export declare const OrderSmsSettingDto: z.ZodObject<{
|
|
|
32
35
|
enable: boolean;
|
|
33
36
|
action: "ACCEPT" | "SERVE";
|
|
34
37
|
}, {
|
|
38
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
35
39
|
type: "QR" | "QUEUE" | "TAKEAWAY" | "KIOSK" | "COUNTER" | "DINE_IN" | "PICKUP" | "DELIVERY";
|
|
36
40
|
message: {
|
|
37
41
|
keys?: Record<string, "Bill Receipt Number" | "Bill Receipt Total Amount (Net)" | "Order Type" | "Order Slot" | "Order Datetime" | "Order Delivery Type" | "Restaurant Name" | "Restaurant Email" | "Restaurant Address" | "Restaurant Contact Number"> | undefined;
|
|
@@ -1451,11 +1451,13 @@ export declare const RestaurantCustomerV2Dto: z.ZodObject<{
|
|
|
1451
1451
|
}>, "many">>>;
|
|
1452
1452
|
disableRemoteQueue: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
1453
1453
|
disableSMS: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
1454
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
1454
1455
|
printChecklist: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
1455
1456
|
autoSendKitchen: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
1456
1457
|
enableQueueToTabletTransfer: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
1457
1458
|
}, "strip", z.ZodTypeAny, {
|
|
1458
1459
|
autoSendKitchen?: boolean | null | undefined;
|
|
1460
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1459
1461
|
showWaitEstimate?: boolean | null | undefined;
|
|
1460
1462
|
codeSettings?: {
|
|
1461
1463
|
id?: string | null | undefined;
|
|
@@ -1485,6 +1487,7 @@ export declare const RestaurantCustomerV2Dto: z.ZodObject<{
|
|
|
1485
1487
|
}, {
|
|
1486
1488
|
duration?: number | undefined;
|
|
1487
1489
|
autoSendKitchen?: boolean | null | undefined;
|
|
1490
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1488
1491
|
showWaitEstimate?: boolean | null | undefined;
|
|
1489
1492
|
codeSettings?: {
|
|
1490
1493
|
id?: string | null | undefined;
|
|
@@ -1837,6 +1840,7 @@ export declare const RestaurantCustomerV2Dto: z.ZodObject<{
|
|
|
1837
1840
|
shopeefoodDelivery?: any;
|
|
1838
1841
|
queueSetting?: {
|
|
1839
1842
|
autoSendKitchen?: boolean | null | undefined;
|
|
1843
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
1840
1844
|
showWaitEstimate?: boolean | null | undefined;
|
|
1841
1845
|
codeSettings?: {
|
|
1842
1846
|
id?: string | null | undefined;
|
|
@@ -2138,6 +2142,7 @@ export declare const RestaurantCustomerV2Dto: z.ZodObject<{
|
|
|
2138
2142
|
queueSetting?: {
|
|
2139
2143
|
duration?: number | undefined;
|
|
2140
2144
|
autoSendKitchen?: boolean | null | undefined;
|
|
2145
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
2141
2146
|
showWaitEstimate?: boolean | null | undefined;
|
|
2142
2147
|
codeSettings?: {
|
|
2143
2148
|
id?: string | null | undefined;
|
|
@@ -4656,11 +4661,13 @@ export declare const RestaurantCustomerKioskDto: z.ZodObject<{
|
|
|
4656
4661
|
}>, "many">>>;
|
|
4657
4662
|
disableRemoteQueue: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
4658
4663
|
disableSMS: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
4664
|
+
channels: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodEnum<["APP_INBOX", "SMS", "WHATSAPP", "EMAIL", "PUSH_NOTIFICATION"]>, "many">>>;
|
|
4659
4665
|
printChecklist: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
4660
4666
|
autoSendKitchen: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
4661
4667
|
enableQueueToTabletTransfer: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
|
|
4662
4668
|
}, "strip", z.ZodTypeAny, {
|
|
4663
4669
|
autoSendKitchen?: boolean | null | undefined;
|
|
4670
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
4664
4671
|
showWaitEstimate?: boolean | null | undefined;
|
|
4665
4672
|
codeSettings?: {
|
|
4666
4673
|
id?: string | null | undefined;
|
|
@@ -4690,6 +4697,7 @@ export declare const RestaurantCustomerKioskDto: z.ZodObject<{
|
|
|
4690
4697
|
}, {
|
|
4691
4698
|
duration?: number | undefined;
|
|
4692
4699
|
autoSendKitchen?: boolean | null | undefined;
|
|
4700
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
4693
4701
|
showWaitEstimate?: boolean | null | undefined;
|
|
4694
4702
|
codeSettings?: {
|
|
4695
4703
|
id?: string | null | undefined;
|
|
@@ -5641,6 +5649,7 @@ export declare const RestaurantCustomerKioskDto: z.ZodObject<{
|
|
|
5641
5649
|
} | null | undefined;
|
|
5642
5650
|
queueSettings?: {
|
|
5643
5651
|
autoSendKitchen?: boolean | null | undefined;
|
|
5652
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
5644
5653
|
showWaitEstimate?: boolean | null | undefined;
|
|
5645
5654
|
codeSettings?: {
|
|
5646
5655
|
id?: string | null | undefined;
|
|
@@ -5996,6 +6005,7 @@ export declare const RestaurantCustomerKioskDto: z.ZodObject<{
|
|
|
5996
6005
|
queueSettings?: {
|
|
5997
6006
|
duration?: number | undefined;
|
|
5998
6007
|
autoSendKitchen?: boolean | null | undefined;
|
|
6008
|
+
channels?: ("APP_INBOX" | "SMS" | "WHATSAPP" | "EMAIL" | "PUSH_NOTIFICATION")[] | null | undefined;
|
|
5999
6009
|
showWaitEstimate?: boolean | null | undefined;
|
|
6000
6010
|
codeSettings?: {
|
|
6001
6011
|
id?: string | null | undefined;
|