@pisell/pisellos 0.10.16 → 0.10.18

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.
Files changed (63) hide show
  1. package/dist/model/strategy/adapter/promotion/index.js +9 -0
  2. package/dist/modules/OpenData/index.d.ts +5 -2
  3. package/dist/modules/OpenData/index.js +27 -12
  4. package/dist/modules/OpenData/types.d.ts +42 -0
  5. package/dist/modules/OpenData/types.js +7 -1
  6. package/dist/modules/OpenData/utils.d.ts +15 -1
  7. package/dist/modules/OpenData/utils.js +85 -0
  8. package/dist/modules/Order/index.d.ts +3 -1
  9. package/dist/modules/Order/index.js +68 -44
  10. package/dist/modules/Order/types.d.ts +3 -0
  11. package/dist/modules/Order/types.js +1 -0
  12. package/dist/modules/ProductList/index.js +96 -74
  13. package/dist/modules/Rules/index.js +11 -8
  14. package/dist/modules/SalesSummary/index.js +6 -4
  15. package/dist/server/index.d.ts +11 -0
  16. package/dist/server/index.js +845 -481
  17. package/dist/server/modules/order/index.d.ts +8 -0
  18. package/dist/server/modules/order/index.js +251 -215
  19. package/dist/server/utils/small-ticket.d.ts +9 -1
  20. package/dist/server/utils/small-ticket.js +117 -43
  21. package/dist/solution/BaseSales/index.d.ts +7 -0
  22. package/dist/solution/BaseSales/index.js +251 -144
  23. package/dist/solution/BookingByStep/index.d.ts +2 -2
  24. package/dist/solution/BookingTicket/index.d.ts +14 -19
  25. package/dist/solution/BookingTicket/index.js +545 -429
  26. package/dist/solution/Sales/index.d.ts +20 -4
  27. package/dist/solution/Sales/index.js +348 -75
  28. package/dist/solution/Sales/types.d.ts +10 -0
  29. package/dist/solution/UnifiedBookingSales/index.d.ts +5 -4
  30. package/dist/solution/UnifiedBookingSales/index.js +495 -422
  31. package/dist/solution/UnifiedBookingSales/types.d.ts +7 -1
  32. package/lib/model/strategy/adapter/promotion/index.js +1 -46
  33. package/lib/modules/OpenData/index.d.ts +5 -2
  34. package/lib/modules/OpenData/index.js +50 -3
  35. package/lib/modules/OpenData/types.d.ts +42 -0
  36. package/lib/modules/OpenData/types.js +9 -1
  37. package/lib/modules/OpenData/utils.d.ts +15 -1
  38. package/lib/modules/OpenData/utils.js +85 -0
  39. package/lib/modules/Order/index.d.ts +3 -1
  40. package/lib/modules/Order/index.js +41 -21
  41. package/lib/modules/Order/types.d.ts +3 -0
  42. package/lib/modules/Order/types.js +1 -0
  43. package/lib/modules/ProductList/index.js +9 -6
  44. package/lib/modules/Rules/index.js +8 -6
  45. package/lib/modules/SalesSummary/index.js +3 -1
  46. package/lib/server/index.d.ts +11 -0
  47. package/lib/server/index.js +395 -96
  48. package/lib/server/modules/order/index.d.ts +8 -0
  49. package/lib/server/modules/order/index.js +23 -0
  50. package/lib/server/utils/small-ticket.d.ts +9 -1
  51. package/lib/server/utils/small-ticket.js +107 -35
  52. package/lib/solution/BaseSales/index.d.ts +7 -0
  53. package/lib/solution/BaseSales/index.js +125 -28
  54. package/lib/solution/BookingByStep/index.d.ts +2 -2
  55. package/lib/solution/BookingTicket/index.d.ts +14 -19
  56. package/lib/solution/BookingTicket/index.js +70 -17
  57. package/lib/solution/Sales/index.d.ts +20 -4
  58. package/lib/solution/Sales/index.js +183 -15
  59. package/lib/solution/Sales/types.d.ts +10 -0
  60. package/lib/solution/UnifiedBookingSales/index.d.ts +5 -4
  61. package/lib/solution/UnifiedBookingSales/index.js +41 -15
  62. package/lib/solution/UnifiedBookingSales/types.d.ts +7 -1
  63. package/package.json +1 -1
@@ -35,6 +35,8 @@ export interface SmallTicketProduct {
35
35
  original_price: string;
36
36
  total_original_price: string;
37
37
  extension_list: any[];
38
+ product_uid?: string | number;
39
+ booking_uid?: string | number;
38
40
  options?: Array<{
39
41
  name: string;
40
42
  num?: number;
@@ -44,6 +46,11 @@ export interface SmallTicketProduct {
44
46
  variant?: string;
45
47
  combinations?: any[];
46
48
  }
49
+ export interface SmallTicketBookingSnapshot extends Record<string, any> {
50
+ product_uid?: string | number;
51
+ booking_uid?: string | number;
52
+ }
53
+ export type SmallTicketAppointment = SmallTicketItem[] | SmallTicketBookingSnapshot[];
47
54
  export interface SmallTicketLocaleData {
48
55
  base_data: Record<string, any>;
49
56
  products: SmallTicketProduct[];
@@ -52,7 +59,7 @@ export interface SmallTicketLocaleData {
52
59
  countFee: Record<string, any>;
53
60
  };
54
61
  customer: SmallTicketItem[];
55
- appointment: SmallTicketItem[];
62
+ appointment: SmallTicketAppointment;
56
63
  delivery?: SmallTicketItem[];
57
64
  resources: Array<{
58
65
  id: string | number;
@@ -61,6 +68,7 @@ export interface SmallTicketLocaleData {
61
68
  form_title: string;
62
69
  }>;
63
70
  payment_data: SmallTicketItem[][];
71
+ wallets: SmallTicketItem[][];
64
72
  tickets: any[];
65
73
  source_shop: any[];
66
74
  refund_data: any[];
@@ -147,6 +147,11 @@ function buildLocaleData(params) {
147
147
  locale: locale,
148
148
  currencySymbol: currencySymbol
149
149
  }),
150
+ wallets: buildWallets({
151
+ order: order,
152
+ locale: locale,
153
+ currencySymbol: currencySymbol
154
+ }),
150
155
  tickets: Array.isArray(order.tickets) ? order.tickets : [],
151
156
  source_shop: [],
152
157
  refund_data: [],
@@ -159,25 +164,27 @@ function buildBaseData(params) {
159
164
  shopInfo = params.shopInfo,
160
165
  locale = params.locale;
161
166
  var orderNumber = stringify(order.buzzer || order.shop_full_order_number);
162
- return {
167
+ return _objectSpread({
163
168
  shop_name: stringify(shopInfo.name || order.shop_name),
164
169
  note: stringify(order.note),
165
170
  shop_order_number: stringify(order.shop_order_number),
166
171
  order_number: orderNumber,
167
172
  shop_tax_number: stringify(shopInfo.tax_number || order.shop_tax_number),
168
173
  shop_phone: stringify(shopInfo.phone || order.shop_phone),
169
- shop_address: stringify(shopInfo.address || buildShopAddress(shopInfo) || order.shop_address),
174
+ shop_address: stringify(shopInfo.receipt_address || shopInfo.address || buildShopAddress(shopInfo) || order.shop_address),
170
175
  original_payment_status: stringify(order.payment_status),
171
176
  is_repeat: 0,
172
177
  buzzer: stringify(order.buzzer || order.pickup_number || ((_order$metadata = order.metadata) === null || _order$metadata === void 0 ? void 0 : _order$metadata.buzzer)),
173
178
  order_no: orderNumber,
174
179
  order_time: formatDateTime(order.created_at || order.sales_time || new Date(), locale)
175
- };
180
+ }, isPresentId(order.updated_at) ? {
181
+ updated_at: formatDateTime(order.updated_at, locale)
182
+ } : {});
176
183
  }
177
184
  function buildProducts(order, locale, productMap) {
178
185
  var products = Array.isArray(order.products) ? order.products : [];
179
186
  return products.map(function (product) {
180
- var _ref, _ref2, _product$product_quan, _ref3, _ref4, _ref5, _product$original_pri, _ref6, _ref7, _product$selling_pric, _product$product_id;
187
+ var _ref, _ref2, _product$product_quan, _ref3, _ref4, _ref5, _product$original_pri, _ref6, _ref7, _product$selling_pric, _product$product_id, _product$metadata, _product$metadata2;
181
188
  var quantity = toNumber((_ref = (_ref2 = (_product$product_quan = product.product_quantity) !== null && _product$product_quan !== void 0 ? _product$product_quan : product.quantity) !== null && _ref2 !== void 0 ? _ref2 : product.num) !== null && _ref !== void 0 ? _ref : 1, 1);
182
189
  var originalPrice = (_ref3 = (_ref4 = (_ref5 = (_product$original_pri = product.original_price) !== null && _product$original_pri !== void 0 ? _product$original_pri : product.selling_price) !== null && _ref5 !== void 0 ? _ref5 : product.payment_price) !== null && _ref4 !== void 0 ? _ref4 : product.price) !== null && _ref3 !== void 0 ? _ref3 : 0;
183
190
  var sellingPrice = (_ref6 = (_ref7 = (_product$selling_pric = product.selling_price) !== null && _product$selling_pric !== void 0 ? _product$selling_pric : product.payment_price) !== null && _ref7 !== void 0 ? _ref7 : product.price) !== null && _ref6 !== void 0 ? _ref6 : originalPrice;
@@ -206,6 +213,8 @@ function buildProducts(order, locale, productMap) {
206
213
  parentProduct: parentProduct,
207
214
  locale: locale
208
215
  });
216
+ var productUid = firstPresentValue((_product$metadata = product.metadata) === null || _product$metadata === void 0 ? void 0 : _product$metadata.unique_identification_number, product.unique_identification_number);
217
+ var bookingUid = firstPresentValue(product.booking_uid, (_product$metadata2 = product.metadata) === null || _product$metadata2 === void 0 ? void 0 : _product$metadata2.booking_uid);
209
218
  var extensionList = buildProductExtensionList({
210
219
  product: product,
211
220
  locale: locale,
@@ -213,14 +222,18 @@ function buildProducts(order, locale, productMap) {
213
222
  quantity: quantity,
214
223
  originalPrice: originalPrice
215
224
  });
216
- return _objectSpread(_objectSpread(_objectSpread({
225
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
217
226
  product_title: productTitle,
218
227
  product_quantity: quantity,
219
228
  selling_price: formatMoney(sellingPrice, currencySymbol),
220
229
  original_price: formatMoney(originalPrice, currencySymbol),
221
230
  total_original_price: formatMoney(new Decimal(toMoneyNumber(originalPrice)).mul(quantity), currencySymbol),
222
231
  extension_list: extensionList
223
- }, options.length ? {
232
+ }, isPresentId(productUid) ? {
233
+ product_uid: productUid
234
+ } : {}), isPresentId(bookingUid) ? {
235
+ booking_uid: bookingUid
236
+ } : {}), options.length ? {
224
237
  options: options
225
238
  } : {}), resolvedVariant ? {
226
239
  variant: resolvedVariant
@@ -601,6 +614,14 @@ function isNonZeroId(value) {
601
614
  function isPresentId(value) {
602
615
  return value !== undefined && value !== null && value !== '';
603
616
  }
617
+ function firstPresentValue() {
618
+ for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
619
+ values[_key] = arguments[_key];
620
+ }
621
+ return values.find(function (value) {
622
+ return isPresentId(value);
623
+ });
624
+ }
604
625
  function isSameId(left, right) {
605
626
  if (!isPresentId(left) || !isPresentId(right)) return false;
606
627
  return String(left) === String(right);
@@ -625,7 +646,7 @@ function formatBundlePrice(bundle, currencySymbol) {
625
646
  return formatMoney(amount, currencySymbol);
626
647
  }
627
648
  function buildFees(params) {
628
- var _ref36, _order$shop_discount, _ref37, _summary$product_orig;
649
+ var _ref36, _order$shop_discount, _firstPresentValue;
629
650
  var order = params.order,
630
651
  shopInfo = params.shopInfo,
631
652
  locale = params.locale,
@@ -672,12 +693,13 @@ function buildFees(params) {
672
693
  });
673
694
  }
674
695
  var productExpectAmount = summary.product_expect_amount || summary.product_amount || order.product_expect_amount;
675
- var productOriginalAmount = (_ref37 = (_summary$product_orig = summary.product_original_amount) !== null && _summary$product_orig !== void 0 ? _summary$product_orig : order.product_original_amount) !== null && _ref37 !== void 0 ? _ref37 : productExpectAmount;
696
+ var productOriginalAmount = (_firstPresentValue = firstPresentValue(summary.product_original_amount, order.product_original_amount)) !== null && _firstPresentValue !== void 0 ? _firstPresentValue : calculateProductOriginalAmount(order);
676
697
  var totalSavingsAmount = new Decimal(toMoneyNumber(productOriginalAmount)).minus(toMoneyNumber(productExpectAmount)).plus(toMoneyNumber(discountAmount));
677
698
  return {
678
699
  fees: fees,
679
700
  countFee: _objectSpread(_objectSpread(_objectSpread(_objectSpread({
680
701
  total_amount: formatMoney(summary.total_amount || order.total_amount, currencySymbol),
702
+ original_item_amount: formatMoney(productOriginalAmount, currencySymbol),
681
703
  product_expect_amount: formatMoney(productExpectAmount, currencySymbol),
682
704
  expect_amount: formatMoney(summary.expect_amount || order.expect_amount || summary.total_amount || order.total_amount, currencySymbol),
683
705
  product_quantity: toNumber(summary.product_quantity || products.reduce(function (sum, product) {
@@ -698,6 +720,14 @@ function buildFees(params) {
698
720
  } : {})
699
721
  };
700
722
  }
723
+ function calculateProductOriginalAmount(order) {
724
+ return normalizeArray(order.products).reduce(function (total, product) {
725
+ var _ref37, _ref38, _product$product_quan2, _ref39, _ref40, _ref41, _product$original_pri2;
726
+ var quantity = toNumber((_ref37 = (_ref38 = (_product$product_quan2 = product.product_quantity) !== null && _product$product_quan2 !== void 0 ? _product$product_quan2 : product.quantity) !== null && _ref38 !== void 0 ? _ref38 : product.num) !== null && _ref37 !== void 0 ? _ref37 : 1, 1);
727
+ var originalPrice = (_ref39 = (_ref40 = (_ref41 = (_product$original_pri2 = product.original_price) !== null && _product$original_pri2 !== void 0 ? _product$original_pri2 : product.selling_price) !== null && _ref41 !== void 0 ? _ref41 : product.payment_price) !== null && _ref40 !== void 0 ? _ref40 : product.price) !== null && _ref39 !== void 0 ? _ref39 : 0;
728
+ return total.plus(new Decimal(toMoneyNumber(originalPrice)).mul(quantity));
729
+ }, new Decimal(0));
730
+ }
701
731
  function buildCustomer(order, locale) {
702
732
  var _order$customer, _order$customer2, _order$customer3, _order$customer4;
703
733
  return [{
@@ -738,6 +768,22 @@ function buildDelivery(order, locale) {
738
768
  }
739
769
  function buildAppointment(order, locale) {
740
770
  var _order$metadata3, _order$metadata4, _order$form_data;
771
+ var bookings = normalizeArray(order.bookings);
772
+ if (bookings.length) {
773
+ return bookings.map(function (booking) {
774
+ var _booking$metadata, _booking$metadata2;
775
+ var snapshot = _objectSpread({}, booking);
776
+ delete snapshot.product_uid;
777
+ delete snapshot.booking_uid;
778
+ var productUid = firstPresentValue(booking.product_uid, (_booking$metadata = booking.metadata) === null || _booking$metadata === void 0 ? void 0 : _booking$metadata.product_uid);
779
+ var bookingUid = firstPresentValue((_booking$metadata2 = booking.metadata) === null || _booking$metadata2 === void 0 ? void 0 : _booking$metadata2.unique_identification_number, booking.booking_uid);
780
+ return _objectSpread(_objectSpread(_objectSpread({}, snapshot), isPresentId(productUid) ? {
781
+ product_uid: productUid
782
+ } : {}), isPresentId(bookingUid) ? {
783
+ booking_uid: bookingUid
784
+ } : {});
785
+ });
786
+ }
741
787
  var tableName = order.table_name || ((_order$metadata3 = order.metadata) === null || _order$metadata3 === void 0 ? void 0 : _order$metadata3.table_name) || ((_order$metadata4 = order.metadata) === null || _order$metadata4 === void 0 || (_order$metadata4 = _order$metadata4.table) === null || _order$metadata4 === void 0 ? void 0 : _order$metadata4.name) || ((_order$form_data = order.form_data) === null || _order$form_data === void 0 ? void 0 : _order$form_data.table_name);
742
788
  if (!tableName) return [];
743
789
  return [{
@@ -760,41 +806,67 @@ function buildPaymentData(params) {
760
806
  return payments.filter(function (payment) {
761
807
  return isPrintablePayment(payment);
762
808
  }).map(function (payment) {
763
- var _payment$amount;
764
- var items = [{
765
- item: paymentMethodName(payment, params.locale),
766
- value: formatMoney((_payment$amount = payment.amount) !== null && _payment$amount !== void 0 ? _payment$amount : payment.origin_amount, params.currencySymbol)
767
- }];
768
- var fundRecord = getFundRecord(payment);
769
- if (fundRecord) {
770
- items.push.apply(items, _toConsumableArray(buildFundRecordPaymentItems({
771
- payment: payment,
772
- fundRecord: fundRecord,
773
- locale: params.locale,
774
- currencySymbol: params.currencySymbol
775
- })));
776
- } else {
777
- var _ref38, _payment$remaining_am, _payment$metadata;
778
- var remainingAmount = (_ref38 = (_payment$remaining_am = payment.remaining_amount) !== null && _payment$remaining_am !== void 0 ? _payment$remaining_am : payment.balance) !== null && _ref38 !== void 0 ? _ref38 : (_payment$metadata = payment.metadata) === null || _payment$metadata === void 0 ? void 0 : _payment$metadata.remaining_amount;
779
- if (remainingAmount !== undefined && remainingAmount !== null) {
780
- items.push({
781
- item: label(params.locale, 'remainingAmount'),
782
- value: formatMoney(remainingAmount, params.currencySymbol)
783
- });
784
- }
785
- }
786
- items.push({
787
- item: formatDateTime(payment.paid_at || payment.created_at || payment.updated_at || new Date(), params.locale),
788
- value: ''
809
+ return buildPaymentItems({
810
+ payment: payment,
811
+ locale: params.locale,
812
+ currencySymbol: params.currencySymbol,
813
+ includeFundRecordBalance: false
814
+ });
815
+ });
816
+ }
817
+ function buildWallets(params) {
818
+ return normalizeArray(params.order.payments).filter(function (payment) {
819
+ return isPrintablePayment(payment) && !!getFundRecord(payment);
820
+ }).map(function (payment) {
821
+ return buildPaymentItems({
822
+ payment: payment,
823
+ locale: params.locale,
824
+ currencySymbol: params.currencySymbol,
825
+ includeFundRecordBalance: true
789
826
  });
790
- return items;
791
827
  });
792
828
  }
829
+ function buildPaymentItems(params) {
830
+ var _payment$amount;
831
+ var payment = params.payment,
832
+ locale = params.locale,
833
+ currencySymbol = params.currencySymbol,
834
+ includeFundRecordBalance = params.includeFundRecordBalance;
835
+ var items = [{
836
+ item: paymentMethodName(payment, locale),
837
+ value: formatMoney((_payment$amount = payment.amount) !== null && _payment$amount !== void 0 ? _payment$amount : payment.origin_amount, currencySymbol)
838
+ }];
839
+ var fundRecord = getFundRecord(payment);
840
+ if (fundRecord) {
841
+ items.push.apply(items, _toConsumableArray(buildFundRecordPaymentItems({
842
+ payment: payment,
843
+ fundRecord: fundRecord,
844
+ locale: locale,
845
+ currencySymbol: currencySymbol,
846
+ includeBalance: includeFundRecordBalance
847
+ })));
848
+ } else {
849
+ var _ref42, _payment$remaining_am, _payment$metadata;
850
+ var remainingAmount = (_ref42 = (_payment$remaining_am = payment.remaining_amount) !== null && _payment$remaining_am !== void 0 ? _payment$remaining_am : payment.balance) !== null && _ref42 !== void 0 ? _ref42 : (_payment$metadata = payment.metadata) === null || _payment$metadata === void 0 ? void 0 : _payment$metadata.remaining_amount;
851
+ if (remainingAmount !== undefined && remainingAmount !== null) {
852
+ items.push({
853
+ item: label(locale, 'remainingAmount'),
854
+ value: formatMoney(remainingAmount, currencySymbol)
855
+ });
856
+ }
857
+ }
858
+ items.push({
859
+ item: formatDateTime(payment.paid_at || payment.created_at || payment.updated_at || new Date(), locale),
860
+ value: ''
861
+ });
862
+ return items;
863
+ }
793
864
  function buildFundRecordPaymentItems(params) {
794
865
  var payment = params.payment,
795
866
  fundRecord = params.fundRecord,
796
867
  locale = params.locale,
797
- currencySymbol = params.currencySymbol;
868
+ currencySymbol = params.currencySymbol,
869
+ includeBalance = params.includeBalance;
798
870
  var items = [];
799
871
  var usingBeforeValue = fundRecord.using_before_value;
800
872
  var usingAfterValue = fundRecord.using_after_value;
@@ -804,13 +876,15 @@ function buildFundRecordPaymentItems(params) {
804
876
  item: label(locale, 'redeemPoints'),
805
877
  value: trimDecimal(usedPoints)
806
878
  });
807
- items.push({
808
- item: label(locale, 'remainingPoints'),
809
- value: trimDecimal(new Decimal(toMoneyNumber(usingAfterValue)))
810
- });
879
+ if (includeBalance) {
880
+ items.push({
881
+ item: label(locale, 'remainingPoints'),
882
+ value: trimDecimal(new Decimal(toMoneyNumber(usingAfterValue)))
883
+ });
884
+ }
811
885
  return items;
812
886
  }
813
- if (usingAfterValue !== undefined && usingAfterValue !== null) {
887
+ if (includeBalance && usingAfterValue !== undefined && usingAfterValue !== null) {
814
888
  items.push({
815
889
  item: label(locale, 'remainingAmount'),
816
890
  value: formatMoney(usingAfterValue, currencySymbol)
@@ -883,12 +957,12 @@ function label(locale, key) {
883
957
  return ((_LABELS$locale = LABELS[locale]) === null || _LABELS$locale === void 0 ? void 0 : _LABELS$locale[key]) || LABELS.en[key] || key;
884
958
  }
885
959
  function getLocalizedValue(value, locale) {
886
- var _ref39, _ref40, _ref41, _ref42, _ref43, _ref44, _value$locale2;
960
+ var _ref43, _ref44, _ref45, _ref46, _ref47, _ref48, _value$locale2;
887
961
  if (value === undefined || value === null) return '';
888
962
  if (_typeof(value) !== 'object') return stringify(value);
889
963
  var dashedLocale = locale.replace('_', '-');
890
964
  var underscoredLocale = locale.replace('-', '_');
891
- return stringify((_ref39 = (_ref40 = (_ref41 = (_ref42 = (_ref43 = (_ref44 = (_value$locale2 = value[locale]) !== null && _value$locale2 !== void 0 ? _value$locale2 : value[dashedLocale]) !== null && _ref44 !== void 0 ? _ref44 : value[underscoredLocale]) !== null && _ref43 !== void 0 ? _ref43 : value.original) !== null && _ref42 !== void 0 ? _ref42 : value.auto) !== null && _ref41 !== void 0 ? _ref41 : value.default) !== null && _ref40 !== void 0 ? _ref40 : value.en) !== null && _ref39 !== void 0 ? _ref39 : '');
965
+ return stringify((_ref43 = (_ref44 = (_ref45 = (_ref46 = (_ref47 = (_ref48 = (_value$locale2 = value[locale]) !== null && _value$locale2 !== void 0 ? _value$locale2 : value[dashedLocale]) !== null && _ref48 !== void 0 ? _ref48 : value[underscoredLocale]) !== null && _ref47 !== void 0 ? _ref47 : value.original) !== null && _ref46 !== void 0 ? _ref46 : value.auto) !== null && _ref45 !== void 0 ? _ref45 : value.default) !== null && _ref44 !== void 0 ? _ref44 : value.en) !== null && _ref43 !== void 0 ? _ref43 : '');
892
966
  }
893
967
  function serviceTypeToLabelKey(serviceType) {
894
968
  var normalized = serviceType.toLowerCase();
@@ -136,6 +136,13 @@ export declare class BaseSalesImpl extends BaseModule implements Module {
136
136
  private getAuthoritativeBundleUnitPrice;
137
137
  private mergeProductForPriceQuery;
138
138
  protected getSubmitOrderSalesChannel(): string | undefined;
139
+ /** Subclasses with target-scoped OpenData override this guard before reusing the cache. */
140
+ protected isInvoiceOpenDataCacheCurrent(): boolean;
141
+ private getFulfillmentRefModeConfigs;
142
+ private getFulfillmentRefMode;
143
+ private getCachedInvoiceLayoutConfig;
144
+ private getCachedInvoiceTemplateSettings;
145
+ private buildSubmitPayloadEnhancerWithOpenDataConfig;
139
146
  /**
140
147
  * 工厂入口:根据子模块名实例化对应模块。
141
148
  * 默认使用 BookingByStep 公共 `createModule`。子类若需引入额外类型(如 customer),