@mirai/core 0.3.60 → 0.3.61

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 (80) hide show
  1. package/build/components/Finder/helpers/getForwarderUrl.js +4 -2
  2. package/build/components/Finder/helpers/getForwarderUrl.js.map +1 -1
  3. package/build/components/Rates/Rates.Footer.js +65 -77
  4. package/build/components/Rates/Rates.Footer.js.map +1 -1
  5. package/build/components/Rates/{Rates.Filter.js → Rates.Header.js} +53 -80
  6. package/build/components/Rates/Rates.Header.js.map +1 -0
  7. package/build/components/Rates/Rates.RoomSelector.js +96 -0
  8. package/build/components/Rates/Rates.RoomSelector.js.map +1 -0
  9. package/build/components/Rates/Rates.Skeleton.js +116 -40
  10. package/build/components/Rates/Rates.Skeleton.js.map +1 -1
  11. package/build/components/Rates/Rates.constants.js +7 -1
  12. package/build/components/Rates/Rates.constants.js.map +1 -1
  13. package/build/components/Rates/Rates.js +90 -47
  14. package/build/components/Rates/Rates.js.map +1 -1
  15. package/build/components/Rates/Rates.l10n.js +16 -7
  16. package/build/components/Rates/Rates.l10n.js.map +1 -1
  17. package/build/components/Rates/Rates.module.css +149 -67
  18. package/build/components/Rates/components/Item/Item.Preview.js +46 -29
  19. package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
  20. package/build/components/Rates/components/Item/Item.Rates.js +112 -143
  21. package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
  22. package/build/components/Rates/components/Item/Item.Summary.js +141 -0
  23. package/build/components/Rates/components/Item/Item.Summary.js.map +1 -0
  24. package/build/components/Rates/components/Item/Item.js +67 -64
  25. package/build/components/Rates/components/Item/Item.js.map +1 -1
  26. package/build/components/Rates/components/Item/Item.l10n.js +22 -0
  27. package/build/components/Rates/components/Item/Item.l10n.js.map +1 -1
  28. package/build/components/Rates/components/Item/Item.module.css +80 -104
  29. package/build/components/Rates/components/Item/components/Amenities/Amenities.js +15 -9
  30. package/build/components/Rates/components/Item/components/Amenities/Amenities.js.map +1 -1
  31. package/build/components/Rates/components/Item/components/Amenities/Amenities.module.css +11 -3
  32. package/build/components/Rates/components/Item/components/Discount/Discount.js +14 -13
  33. package/build/components/Rates/components/Item/components/Discount/Discount.js.map +1 -1
  34. package/build/components/Rates/components/Item/components/Discount/Discount.module.css +4 -3
  35. package/build/components/Rates/components/Item/components/Features/Features.js +4 -10
  36. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  37. package/build/components/Rates/components/Item/components/Features/Features.module.css +0 -5
  38. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +34 -6
  39. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  40. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.module.css +7 -0
  41. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +18 -9
  42. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
  43. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.module.css +17 -1
  44. package/build/components/Rates/components/Item/components/ModalUrl/ModalUrl.module.css +1 -1
  45. package/build/components/Rates/components/Item/components/Option/Option.js +72 -0
  46. package/build/components/Rates/components/Item/components/Option/Option.js.map +1 -0
  47. package/build/components/Rates/components/Item/components/Option/Option.module.css +24 -0
  48. package/build/components/Rates/components/Item/components/Option/index.js +17 -0
  49. package/build/components/Rates/components/Item/components/Option/index.js.map +1 -0
  50. package/build/components/Rates/components/Item/components/index.js +11 -0
  51. package/build/components/Rates/components/Item/components/index.js.map +1 -1
  52. package/build/components/Rates/helpers/getForwarderUrl.js +23 -12
  53. package/build/components/Rates/helpers/getForwarderUrl.js.map +1 -1
  54. package/build/components/helpers/ICON.js +10 -2
  55. package/build/components/helpers/ICON.js.map +1 -1
  56. package/build/components/helpers/index.js +11 -0
  57. package/build/components/helpers/index.js.map +1 -1
  58. package/build/components/helpers/opacity.js +17 -0
  59. package/build/components/helpers/opacity.js.map +1 -0
  60. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +1662 -0
  61. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +296 -510
  62. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +895 -1795
  63. package/build/services/Rates/__tests__/__mocks__/rates-response.json +197 -369
  64. package/build/services/Rates/__tests__/__mocks__/rates-success-cancel-types.json +32481 -0
  65. package/build/services/Rates/constants.js +18 -1
  66. package/build/services/Rates/constants.js.map +1 -1
  67. package/build/services/Rates/get.js +41 -112
  68. package/build/services/Rates/get.js.map +1 -1
  69. package/build/services/Rates/helpers/getIncrements.js +69 -0
  70. package/build/services/Rates/helpers/getIncrements.js.map +1 -0
  71. package/build/services/Rates/helpers/index.js +22 -0
  72. package/build/services/Rates/helpers/index.js.map +1 -1
  73. package/build/services/Rates/helpers/parseBoards.js +156 -0
  74. package/build/services/Rates/helpers/parseBoards.js.map +1 -0
  75. package/build/services/Rates/helpers/parseExternalToken.js +24 -0
  76. package/build/services/Rates/helpers/parseExternalToken.js.map +1 -0
  77. package/package.json +1 -1
  78. package/public/App.module.css +5 -0
  79. package/public/themes/monalisa.theme.css +3 -0
  80. package/build/components/Rates/Rates.Filter.js.map +0 -1
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UNIT = exports.CURRENCIES_WITHOUT_DECIMALS = exports.BED_TYPE = exports.BED_DISPOSITION = void 0;
6
+ exports.VALID = exports.UNIT = exports.KEY_HASH = exports.EXTERNAL = exports.DEFAULT_LANGUAGE = exports.CURRENCIES_WITHOUT_DECIMALS = exports.BED_TYPE = exports.BED_DISPOSITION = void 0;
7
7
  const SINGLE = 1;
8
8
  const DOUBLE = 2;
9
9
  const BED_DISPOSITION = exports.BED_DISPOSITION = {
@@ -77,6 +77,22 @@ const BED_TYPE = exports.BED_TYPE = {
77
77
  DOUBLE
78
78
  };
79
79
  const CURRENCIES_WITHOUT_DECIMALS = exports.CURRENCIES_WITHOUT_DECIMALS = ['KRW', 'JPY', 'IDR', 'ISK'];
80
+ const DEFAULT_LANGUAGE = exports.DEFAULT_LANGUAGE = 'en';
81
+ const EXTERNAL = exports.EXTERNAL = {
82
+ ID: ['100377454', '100377444', '100378056', '100378057', '100378060', '100378062', '100378058', '100378059', '100378061', '100378063', '100378102', '100378108', '100378106', '100377194', '100378246', '100378209', '100378249', '100378315', '100378316', '100378317', '100378318', '100378319', '100378320', '100378321', '100378322', '100378323', '100378324', '100378325', '100378326', '100378327', '100378328', '100378329', '100378245', '100378242', '100378243', '100378241', '100378244', '100378385', '100378386', '100378472', '100378473', '100378474', '100378475', '100378476', '100378477', '100378478', '100378384', '100378563', '100378562', '100378559', '100378323', '100378556', '100378558', '100378555', '100378557', '100378553', '100378561', '100378556', '100378599', '100378565', '100378596', '100378561', '100378604', '100378590', '100378591', '100378597', '100378592', '100378593', '100378614', '100378606', '100378598', '100378601', '100378602', '100378600', '100378594', '100378605', '100378603', '100378607', '100378608', '100378609', '100378610', '100378612', '100378611', '100378613', '100378677', '100378589', '100378564', '100379044'],
83
+ TYPE: 3,
84
+ URL: {
85
+ en: 'https://www.pestana.com/en/contents/pgc/pgc-regulation',
86
+ es: 'https://www.pestana.com/es/contents/pgc/pgc-reglamento',
87
+ de: 'https://www.pestana.com/de/contents/pgc/pgc-regulierung',
88
+ fr: 'https://www.pestana.com/fr/contents/pgc/pgc-reglement',
89
+ it: 'https://www.pestana.com/it/contents/pgc/pgc-regolazione',
90
+ pt: 'https://www.pestana.com/pt/contents/pgc/pgc-regulamento',
91
+ ru: 'https://www.pestana.com/ru/contents/pgc/pgc-regulation',
92
+ nl: 'https://www.pestana.com/en/contents/pgc/pgc-regulation'
93
+ }
94
+ };
95
+ const KEY_HASH = exports.KEY_HASH = 'm14357';
80
96
  const UNIT = exports.UNIT = {
81
97
  imperial: {
82
98
  bed: 'inches',
@@ -87,4 +103,5 @@ const UNIT = exports.UNIT = {
87
103
  size: 'm²'
88
104
  }
89
105
  };
106
+ const VALID = exports.VALID = 'VALID';
90
107
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["SINGLE","DOUBLE","BED_DISPOSITION","exports","ONE_SINGLE","amount","type","ONE_DOUBLE","TWO_SINGLES","TWO_DOUBLES","THREE_SINGLES","ONE_DOUBLE_ONE_SINGLE","FOUR_SINGLES","ONE_DOUBLE_TWO_SINGLES","FIVE_SINGLES","ONE_DOUBLE_THREE_SINGLES","TWO_DOUBLES_ONE_SINGLE","MORE_THAN_FIVE_BEDS","NO_BED","BED_TYPE","CURRENCIES_WITHOUT_DECIMALS","UNIT","imperial","bed","size","metric"],"sources":["../../../src/services/Rates/constants.js"],"sourcesContent":["const SINGLE = 1;\nconst DOUBLE = 2;\n\nconst BED_DISPOSITION = {\n ONE_SINGLE: [{ amount: 1, type: SINGLE }],\n ONE_DOUBLE: [{ amount: 1, type: DOUBLE }],\n TWO_SINGLES: [{ amount: 2, type: SINGLE }],\n TWO_DOUBLES: [{ amount: 2, type: DOUBLE }],\n THREE_SINGLES: [{ amount: 3, type: SINGLE }],\n ONE_DOUBLE_ONE_SINGLE: [\n { amount: 1, type: DOUBLE },\n { amount: 1, type: SINGLE },\n ],\n FOUR_SINGLES: [{ amount: 4, type: SINGLE }],\n ONE_DOUBLE_TWO_SINGLES: [\n { amount: 1, type: DOUBLE },\n { amount: 2, type: SINGLE },\n ],\n FIVE_SINGLES: [{ amount: 5, type: SINGLE }],\n ONE_DOUBLE_THREE_SINGLES: [\n { amount: 1, type: DOUBLE },\n { amount: 3, type: SINGLE },\n ],\n TWO_DOUBLES_ONE_SINGLE: [\n { amount: 2, type: DOUBLE },\n { amount: 1, type: SINGLE },\n ],\n MORE_THAN_FIVE_BEDS: [\n { amount: 6, type: DOUBLE },\n { amount: 6, type: SINGLE },\n ],\n NO_BED: [],\n};\n\nconst BED_TYPE = { SINGLE, DOUBLE };\n\nconst CURRENCIES_WITHOUT_DECIMALS = ['KRW', 'JPY', 'IDR', 'ISK'];\n\nconst UNIT = {\n imperial: { bed: 'inches', size: 'q ft' },\n metric: { bed: 'cm', size: 'm²' },\n};\n\nexport { BED_DISPOSITION, BED_TYPE, CURRENCIES_WITHOUT_DECIMALS, UNIT };\n"],"mappings":";;;;;;AAAA,MAAMA,MAAM,GAAG,CAAC;AAChB,MAAMC,MAAM,GAAG,CAAC;AAEhB,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EACtBE,UAAU,EAAE,CAAC;IAAEC,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEN;EAAO,CAAC,CAAC;EACzCO,UAAU,EAAE,CAAC;IAAEF,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEL;EAAO,CAAC,CAAC;EACzCO,WAAW,EAAE,CAAC;IAAEH,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEN;EAAO,CAAC,CAAC;EAC1CS,WAAW,EAAE,CAAC;IAAEJ,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEL;EAAO,CAAC,CAAC;EAC1CS,aAAa,EAAE,CAAC;IAAEL,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEN;EAAO,CAAC,CAAC;EAC5CW,qBAAqB,EAAE,CACrB;IAAEN,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEL;EAAO,CAAC,EAC3B;IAAEI,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEN;EAAO,CAAC,CAC5B;EACDY,YAAY,EAAE,CAAC;IAAEP,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEN;EAAO,CAAC,CAAC;EAC3Ca,sBAAsB,EAAE,CACtB;IAAER,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEL;EAAO,CAAC,EAC3B;IAAEI,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEN;EAAO,CAAC,CAC5B;EACDc,YAAY,EAAE,CAAC;IAAET,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEN;EAAO,CAAC,CAAC;EAC3Ce,wBAAwB,EAAE,CACxB;IAAEV,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEL;EAAO,CAAC,EAC3B;IAAEI,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEN;EAAO,CAAC,CAC5B;EACDgB,sBAAsB,EAAE,CACtB;IAAEX,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEL;EAAO,CAAC,EAC3B;IAAEI,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEN;EAAO,CAAC,CAC5B;EACDiB,mBAAmB,EAAE,CACnB;IAAEZ,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEL;EAAO,CAAC,EAC3B;IAAEI,MAAM,EAAE,CAAC;IAAEC,IAAI,EAAEN;EAAO,CAAC,CAC5B;EACDkB,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,QAAQ,GAAAhB,OAAA,CAAAgB,QAAA,GAAG;EAAEnB,MAAM;EAAEC;AAAO,CAAC;AAEnC,MAAMmB,2BAA2B,GAAAjB,OAAA,CAAAiB,2BAAA,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAEhE,MAAMC,IAAI,GAAAlB,OAAA,CAAAkB,IAAA,GAAG;EACXC,QAAQ,EAAE;IAAEC,GAAG,EAAE,QAAQ;IAAEC,IAAI,EAAE;EAAO,CAAC;EACzCC,MAAM,EAAE;IAAEF,GAAG,EAAE,IAAI;IAAEC,IAAI,EAAE;EAAK;AAClC,CAAC"}
1
+ {"version":3,"file":"constants.js","names":["SINGLE","DOUBLE","BED_DISPOSITION","exports","ONE_SINGLE","amount","type","ONE_DOUBLE","TWO_SINGLES","TWO_DOUBLES","THREE_SINGLES","ONE_DOUBLE_ONE_SINGLE","FOUR_SINGLES","ONE_DOUBLE_TWO_SINGLES","FIVE_SINGLES","ONE_DOUBLE_THREE_SINGLES","TWO_DOUBLES_ONE_SINGLE","MORE_THAN_FIVE_BEDS","NO_BED","BED_TYPE","CURRENCIES_WITHOUT_DECIMALS","DEFAULT_LANGUAGE","EXTERNAL","ID","TYPE","URL","en","es","de","fr","it","pt","ru","nl","KEY_HASH","UNIT","imperial","bed","size","metric","VALID"],"sources":["../../../src/services/Rates/constants.js"],"sourcesContent":["const SINGLE = 1;\nconst DOUBLE = 2;\n\nconst BED_DISPOSITION = {\n ONE_SINGLE: [{ amount: 1, type: SINGLE }],\n ONE_DOUBLE: [{ amount: 1, type: DOUBLE }],\n TWO_SINGLES: [{ amount: 2, type: SINGLE }],\n TWO_DOUBLES: [{ amount: 2, type: DOUBLE }],\n THREE_SINGLES: [{ amount: 3, type: SINGLE }],\n ONE_DOUBLE_ONE_SINGLE: [\n { amount: 1, type: DOUBLE },\n { amount: 1, type: SINGLE },\n ],\n FOUR_SINGLES: [{ amount: 4, type: SINGLE }],\n ONE_DOUBLE_TWO_SINGLES: [\n { amount: 1, type: DOUBLE },\n { amount: 2, type: SINGLE },\n ],\n FIVE_SINGLES: [{ amount: 5, type: SINGLE }],\n ONE_DOUBLE_THREE_SINGLES: [\n { amount: 1, type: DOUBLE },\n { amount: 3, type: SINGLE },\n ],\n TWO_DOUBLES_ONE_SINGLE: [\n { amount: 2, type: DOUBLE },\n { amount: 1, type: SINGLE },\n ],\n MORE_THAN_FIVE_BEDS: [\n { amount: 6, type: DOUBLE },\n { amount: 6, type: SINGLE },\n ],\n NO_BED: [],\n};\n\nconst BED_TYPE = { SINGLE, DOUBLE };\n\nconst CURRENCIES_WITHOUT_DECIMALS = ['KRW', 'JPY', 'IDR', 'ISK'];\n\nconst DEFAULT_LANGUAGE = 'en';\n\nconst EXTERNAL = {\n ID: [\n '100377454',\n '100377444',\n '100378056',\n '100378057',\n '100378060',\n '100378062',\n '100378058',\n '100378059',\n '100378061',\n '100378063',\n '100378102',\n '100378108',\n '100378106',\n '100377194',\n '100378246',\n '100378209',\n '100378249',\n '100378315',\n '100378316',\n '100378317',\n '100378318',\n '100378319',\n '100378320',\n '100378321',\n '100378322',\n '100378323',\n '100378324',\n '100378325',\n '100378326',\n '100378327',\n '100378328',\n '100378329',\n '100378245',\n '100378242',\n '100378243',\n '100378241',\n '100378244',\n '100378385',\n '100378386',\n '100378472',\n '100378473',\n '100378474',\n '100378475',\n '100378476',\n '100378477',\n '100378478',\n '100378384',\n '100378563',\n '100378562',\n '100378559',\n '100378323',\n '100378556',\n '100378558',\n '100378555',\n '100378557',\n '100378553',\n '100378561',\n '100378556',\n '100378599',\n '100378565',\n '100378596',\n '100378561',\n '100378604',\n '100378590',\n '100378591',\n '100378597',\n '100378592',\n '100378593',\n '100378614',\n '100378606',\n '100378598',\n '100378601',\n '100378602',\n '100378600',\n '100378594',\n '100378605',\n '100378603',\n '100378607',\n '100378608',\n '100378609',\n '100378610',\n '100378612',\n '100378611',\n '100378613',\n '100378677',\n '100378589',\n '100378564',\n '100379044',\n ],\n TYPE: 3,\n URL: {\n en: 'https://www.pestana.com/en/contents/pgc/pgc-regulation',\n es: 'https://www.pestana.com/es/contents/pgc/pgc-reglamento',\n de: 'https://www.pestana.com/de/contents/pgc/pgc-regulierung',\n fr: 'https://www.pestana.com/fr/contents/pgc/pgc-reglement',\n it: 'https://www.pestana.com/it/contents/pgc/pgc-regolazione',\n pt: 'https://www.pestana.com/pt/contents/pgc/pgc-regulamento',\n ru: 'https://www.pestana.com/ru/contents/pgc/pgc-regulation',\n nl: 'https://www.pestana.com/en/contents/pgc/pgc-regulation',\n },\n};\n\nconst KEY_HASH = 'm14357';\n\nconst UNIT = {\n imperial: { bed: 'inches', size: 'q ft' },\n metric: { bed: 'cm', size: 'm²' },\n};\n\nconst VALID = 'VALID';\n\nexport { BED_DISPOSITION, BED_TYPE, CURRENCIES_WITHOUT_DECIMALS, DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, UNIT, VALID };\n"],"mappings":"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"}
@@ -16,29 +16,38 @@ const {
16
16
  DOUBLE,
17
17
  SINGLE
18
18
  } = _constants.BED_TYPE;
19
- const KEY_HASH = 'm14357';
20
19
  const get = function () {
21
20
  let {
22
21
  clubDiscount: applyClubDiscount,
23
22
  currency: userCurrency,
24
23
  locale,
25
- session = {},
24
+ session: {
25
+ authorization
26
+ } = {},
26
27
  ...others
27
28
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
28
29
  return new Promise(async (resolve, reject) => {
30
+ var _club$clubLogin;
29
31
  if (!userCurrency || !locale) return reject();
30
32
  const {
31
33
  idtokenprovider: id,
32
34
  checkin,
33
- nights
35
+ nights,
36
+ club: {
37
+ authentication: {
38
+ type
39
+ } = {}
40
+ } = {}
34
41
  } = others;
42
+ const language = locale === null || locale === void 0 ? void 0 : locale.split('-')[0];
35
43
  const params = Object.entries({
36
44
  applyClubDiscount,
37
45
  currency: userCurrency,
38
46
  ...others,
39
- accessClubToken: session.authorization,
40
- cid: (0, _jsSha.default)("".concat(KEY_HASH, "-").concat(id, "-").concat(checkin, "-").concat(nights)),
41
- lang: locale.split('-')[0]
47
+ accessClubToken: authorization,
48
+ cid: (0, _jsSha.default)("".concat(_constants.KEY_HASH, "-").concat(id, "-").concat(checkin, "-").concat(nights)),
49
+ lang: language,
50
+ ...(0, _helpers.parseExternalToken)(others)
42
51
  }).filter(_ref => {
43
52
  let [, value] = _ref;
44
53
  return value !== undefined;
@@ -57,22 +66,34 @@ const get = function () {
57
66
  }); //TODO
58
67
 
59
68
  const {
69
+ club,
70
+ availabilitySuggestions: availability,
60
71
  currencyCode: hotelCurrency,
72
+ firstChildInterval = {},
61
73
  measureUnit: unit,
74
+ messages: {
75
+ availabilityMessage: {
76
+ notOccupationRequested: notOccupation
77
+ } = {}
78
+ } = {},
62
79
  roomTypes,
63
80
  taxesInformation,
64
81
  vatIncluded: taxes
65
82
  } = response;
83
+ if (notOccupation || availability !== null) {
84
+ // ! TODO spread availability object (from, to, disabledDates)
85
+ return reject({
86
+ notOccupation,
87
+ notCalendar: availability !== null,
88
+ availability
89
+ });
90
+ }
66
91
  const currency = userCurrency || hotelCurrency;
67
92
  await _services.ServiceCurrency.exchange(currency);
68
93
  const items = Object.values(roomTypes);
69
94
  resolve({
70
- assistant: items.some(function () {
71
- let {
72
- occupationOptions: options = {}
73
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
74
- return Object.keys(options).length > 1;
75
- }),
95
+ clubConditions: _constants.EXTERNAL.ID.includes(id) ? _constants.EXTERNAL.URL[language] || _constants.EXTERNAL.URL[_constants.DEFAULT_LANGUAGE] : undefined,
96
+ infantAge: firstChildInterval === null || firstChildInterval === void 0 ? void 0 : firstChildInterval.lowerBound,
76
97
  items: items.map(function () {
77
98
  let {
78
99
  amountAvailable: availability,
@@ -80,7 +101,6 @@ const get = function () {
80
101
  newInfoRoom: info = {},
81
102
  occupationOptions = {}
82
103
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
83
- const rates = [];
84
104
  const {
85
105
  description,
86
106
  roomTypeInfo: {
@@ -98,105 +118,8 @@ const get = function () {
98
118
  numAdults: adults = 0,
99
119
  totalChildren: children = 0
100
120
  } = {},
101
- rates: occupationRates
121
+ rates
102
122
  } = Object.values(occupationOptions)[0] || {};
103
- Object.values(occupationRates).forEach(function () {
104
- let {
105
- boardOptions: boards,
106
- cancellationPolicyDeadline: cancelEnd,
107
- cancellationPolicyName: cancelName,
108
- cancellationPolicyText: cancelText,
109
- cancellationPolicyTooltip: cancelTitle,
110
- includedList: included,
111
- name,
112
- paymentText: paymentConditions,
113
- restrictions
114
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
115
- Object.values(boards).forEach(function () {
116
- let {
117
- boardGroupName: boardName,
118
- detail,
119
- discountPricesBefore: discounts = {},
120
- id,
121
- maxRoomsPerReservation: max,
122
- minRoomsPerReservation: min,
123
- offersApplied: deals,
124
- originalAvgPrice,
125
- totalLocalTaxes: localTaxes,
126
- totalPriceOriginal,
127
- totalPriceWithTaxes: totalPrice,
128
- withTaxesAvgPrice
129
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
130
- const {
131
- clientCodeTotal: promoCode,
132
- clubTotal: club,
133
- offerTotal: deal
134
- } = discounts;
135
- const price = taxes ? totalPrice : totalPriceOriginal;
136
- const originalPrice = (taxes ? Math.max((deal === null || deal === void 0 ? void 0 : deal.withTaxes) || 0, (club === null || club === void 0 ? void 0 : club.withTaxes) || 0, (promoCode === null || promoCode === void 0 ? void 0 : promoCode.withTaxes) || 0) : Math.max((deal === null || deal === void 0 ? void 0 : deal.original) || 0, (club === null || club === void 0 ? void 0 : club.original) || 0, (promoCode === null || promoCode === void 0 ? void 0 : promoCode.original) || 0)) || price;
137
- rates.push({
138
- amount: [min, availability < max ? availability : max],
139
- basePrice: (0, _helpers.normalizePrice)(totalPriceOriginal, currency),
140
- boardName,
141
- cancellation: {
142
- hint: "".concat(cancelName, " ").concat(cancelEnd ? cancelEnd : '').trim(),
143
- title: cancelTitle,
144
- text: cancelText
145
- },
146
- dayPrice: (0, _helpers.getPrice)({
147
- currency,
148
- hotelCurrency,
149
- price: taxes ? withTaxesAvgPrice : originalAvgPrice
150
- }),
151
- days: detail.map(function () {
152
- let {
153
- dayStandardFormat: value,
154
- offerId: deal,
155
- priceWithoutTaxes: basePrice,
156
- priceWithTaxes: price
157
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
158
- return {
159
- deal,
160
- price: (0, _helpers.getPrice)({
161
- currency,
162
- hotelCurrency,
163
- price: taxes ? price : basePrice
164
- }),
165
- value
166
- };
167
- }),
168
- deals,
169
- discount: (0, _helpers.parseDiscount)({
170
- currency,
171
- hotelCurrency,
172
- ...discounts,
173
- originalPrice,
174
- taxes,
175
- totalPrice: price
176
- }),
177
- id,
178
- included: [...new Set(Object.values(included).flat())].slice(0, 3),
179
- originalPrice: (0, _helpers.getPrice)({
180
- currency,
181
- hotelCurrency,
182
- price: originalPrice
183
- }),
184
- price: (0, _helpers.getPrice)({
185
- currency,
186
- hotelCurrency,
187
- price: price + (taxes ? localTaxes : 0)
188
- }),
189
- name,
190
- paymentConditions,
191
- restrictions,
192
- taxes: !taxes ? (0, _helpers.getPrice)({
193
- currency,
194
- hotelCurrency,
195
- price: totalPrice - totalPriceOriginal + localTaxes
196
- }) : undefined
197
- });
198
- });
199
- });
200
123
  return {
201
124
  amenities: (0, _helpers.parseAmenities)(info),
202
125
  availability,
@@ -211,6 +134,12 @@ const get = function () {
211
134
  });
212
135
  return result;
213
136
  }, []),
137
+ ...(0, _helpers.parseBoards)({
138
+ currency,
139
+ hotelCurrency,
140
+ rates,
141
+ taxes
142
+ }),
214
143
  description,
215
144
  images: photos === null || photos === void 0 ? void 0 : photos.map(function () {
216
145
  let {
@@ -230,10 +159,10 @@ const get = function () {
230
159
  url3D,
231
160
  urlVideo
232
161
  } : undefined,
233
- rates,
234
162
  size: size ? "".concat(size, " ").concat(_constants.UNIT[unit].size) : undefined
235
163
  };
236
164
  }),
165
+ externalLogoff: authorization && type === _constants.EXTERNAL.TYPE && (club === null || club === void 0 ? void 0 : (_club$clubLogin = club.clubLogin) === null || _club$clubLogin === void 0 ? void 0 : _club$clubLogin.status) !== _constants.VALID,
237
166
  taxes: !taxes ? taxesInformation.replace(/\r?\n|\r/g, '') : undefined
238
167
  });
239
168
  });
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","KEY_HASH","get","clubDiscount","applyClubDiscount","currency","userCurrency","locale","session","others","arguments","length","undefined","Promise","resolve","reject","idtokenprovider","id","checkin","nights","params","Object","entries","accessClubToken","authorization","cid","sha1","concat","lang","split","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","currencyCode","hotelCurrency","measureUnit","unit","roomTypes","taxesInformation","vatIncluded","taxes","ServiceCurrency","exchange","items","values","assistant","some","occupationOptions","options","keys","map","amountAvailable","availability","name","newInfoRoom","info","rates","description","roomTypeInfo","bedDistributions","bedType","galleryMedia","url3D","video","urlVideo","photos","roomSize","size","occupationQuantities","numAdults","adults","totalChildren","children","occupationRates","forEach","boardOptions","boards","cancellationPolicyDeadline","cancelEnd","cancellationPolicyName","cancelName","cancellationPolicyText","cancelText","cancellationPolicyTooltip","cancelTitle","includedList","included","paymentText","paymentConditions","restrictions","boardGroupName","boardName","detail","discountPricesBefore","discounts","maxRoomsPerReservation","max","minRoomsPerReservation","min","offersApplied","deals","originalAvgPrice","totalLocalTaxes","localTaxes","totalPriceOriginal","totalPriceWithTaxes","totalPrice","withTaxesAvgPrice","clientCodeTotal","promoCode","clubTotal","club","offerTotal","deal","price","originalPrice","Math","withTaxes","original","push","amount","basePrice","normalizePrice","cancellation","hint","trim","title","text","dayPrice","getPrice","days","dayStandardFormat","offerId","priceWithoutTaxes","priceWithTaxes","discount","parseDiscount","Set","flat","slice","amenities","parseAmenities","bedDisposition","type","BED_DISPOSITION","bedTypes","reduce","next","includes","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","maxOccupation","media","UNIT","replace","exports"],"sources":["../../../src/services/Rates/get.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, UNIT } from './constants';\nimport { getPrice, normalizePrice, parseAmenities, parseDiscount } from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nconst KEY_HASH = 'm14357';\n\nexport const get = ({\n clubDiscount: applyClubDiscount,\n currency: userCurrency,\n locale,\n session = {},\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n if (!userCurrency || !locale) return reject();\n\n const { idtokenprovider: id, checkin, nights } = others;\n const params = Object.entries({\n applyClubDiscount,\n currency: userCurrency,\n ...others,\n accessClubToken: session.authorization,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n lang: locale.split('-')[0],\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n //TODO: back have to change the endpoint for don`t have remove this headers\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const {\n currencyCode: hotelCurrency,\n measureUnit: unit,\n roomTypes,\n taxesInformation,\n vatIncluded: taxes,\n } = response;\n const currency = userCurrency || hotelCurrency;\n await ServiceCurrency.exchange(currency);\n const items = Object.values(roomTypes);\n\n resolve({\n assistant: items.some(({ occupationOptions: options = {} } = {}) => Object.keys(options).length > 1),\n items: items.map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const rates = [];\n const {\n description,\n roomTypeInfo: {\n bedDistributions: bedType = [],\n galleryMedia: { url3D, video: urlVideo } = {},\n photos,\n roomSize: size,\n } = {},\n } = info;\n const {\n occupationQuantities: { numAdults: adults = 0, totalChildren: children = 0 } = {},\n rates: occupationRates,\n } = Object.values(occupationOptions)[0] || {};\n\n Object.values(occupationRates).forEach(\n ({\n boardOptions: boards,\n cancellationPolicyDeadline: cancelEnd,\n cancellationPolicyName: cancelName,\n cancellationPolicyText: cancelText,\n cancellationPolicyTooltip: cancelTitle,\n includedList: included,\n name,\n paymentText: paymentConditions,\n restrictions,\n } = {}) => {\n Object.values(boards).forEach(\n ({\n boardGroupName: boardName,\n detail,\n discountPricesBefore: discounts = {},\n id,\n maxRoomsPerReservation: max,\n minRoomsPerReservation: min,\n offersApplied: deals,\n originalAvgPrice,\n totalLocalTaxes: localTaxes,\n totalPriceOriginal,\n totalPriceWithTaxes: totalPrice,\n withTaxesAvgPrice,\n } = {}) => {\n const { clientCodeTotal: promoCode, clubTotal: club, offerTotal: deal } = discounts;\n const price = taxes ? totalPrice : totalPriceOriginal;\n const originalPrice =\n (taxes\n ? Math.max(deal?.withTaxes || 0, club?.withTaxes || 0, promoCode?.withTaxes || 0)\n : Math.max(deal?.original || 0, club?.original || 0, promoCode?.original || 0)) || price;\n\n rates.push({\n amount: [min, availability < max ? availability : max],\n basePrice: normalizePrice(totalPriceOriginal, currency),\n boardName,\n cancellation: {\n hint: `${cancelName} ${cancelEnd ? cancelEnd : ''}`.trim(),\n title: cancelTitle,\n text: cancelText,\n },\n dayPrice: getPrice({\n currency,\n hotelCurrency,\n price: taxes ? withTaxesAvgPrice : originalAvgPrice,\n }),\n days: detail.map(\n ({\n dayStandardFormat: value,\n offerId: deal,\n priceWithoutTaxes: basePrice,\n priceWithTaxes: price,\n } = {}) => ({\n deal,\n price: getPrice({ currency, hotelCurrency, price: taxes ? price : basePrice }),\n value,\n }),\n ),\n deals,\n discount: parseDiscount({\n currency,\n hotelCurrency,\n ...discounts,\n originalPrice,\n taxes,\n totalPrice: price,\n }),\n id,\n included: [...new Set(Object.values(included).flat())].slice(0, 3),\n originalPrice: getPrice({ currency, hotelCurrency, price: originalPrice }),\n price: getPrice({\n currency,\n hotelCurrency,\n price: price + (taxes ? localTaxes : 0),\n }),\n name,\n paymentConditions,\n restrictions,\n taxes: !taxes\n ? getPrice({ currency, hotelCurrency, price: totalPrice - totalPriceOriginal + localTaxes })\n : undefined,\n });\n },\n );\n },\n );\n\n return {\n amenities: parseAmenities(info),\n availability,\n bedDisposition: bedType.map((type) => BED_DISPOSITION[type]),\n bedTypes: bedType.reduce((result, next) => {\n BED_DISPOSITION[next].forEach(({ amount, type } = {}) => {\n if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;\n });\n\n return result;\n }, []),\n description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n maxOccupation: adults + children,\n media: url3D || urlVideo ? { url3D, urlVideo } : undefined,\n rates,\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n taxes: !taxes ? taxesInformation.replace(/\\r?\\n|\\r/g, '') : undefined,\n });\n });\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAAoF,SAAAG,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AANpF;;AAQA,MAAM;EAAEG,MAAM;EAAEC;AAAO,CAAC,GAAGC,mBAAQ;AAEnC,MAAMC,QAAQ,GAAG,QAAQ;AAElB,MAAMC,GAAG,GAAG,SAAAA,CAAA;EAAA,IAAC;IAClBC,YAAY,EAAEC,iBAAiB;IAC/BC,QAAQ,EAAEC,YAAY;IACtBC,MAAM;IACNC,OAAO,GAAG,CAAC,CAAC;IACZ,GAAGC;EACL,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,OACJ,IAAIG,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;IACrC,IAAI,CAACT,YAAY,IAAI,CAACC,MAAM,EAAE,OAAOQ,MAAM,CAAC,CAAC;IAE7C,MAAM;MAAEC,eAAe,EAAEC,EAAE;MAAEC,OAAO;MAAEC;IAAO,CAAC,GAAGV,MAAM;IACvD,MAAMW,MAAM,GAAGC,MAAM,CAACC,OAAO,CAAC;MAC5BlB,iBAAiB;MACjBC,QAAQ,EAAEC,YAAY;MACtB,GAAGG,MAAM;MACTc,eAAe,EAAEf,OAAO,CAACgB,aAAa;MACtCC,GAAG,EAAE,IAAAC,cAAI,KAAAC,MAAA,CAAI1B,QAAQ,OAAA0B,MAAA,CAAIV,EAAE,OAAAU,MAAA,CAAIT,OAAO,OAAAS,MAAA,CAAIR,MAAM,CAAE,CAAC;MACnDS,IAAI,EAAErB,MAAM,CAACsB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CAACC,MAAM,CAACC,IAAA;MAAA,IAAC,GAAGC,KAAK,CAAC,GAAAD,IAAA;MAAA,OAAKC,KAAK,KAAKpB,SAAS;IAAA,EAAC;IAE7C,MAAMqB,QAAQ,GAAG,MAAM,IAAAC,oBAAO,EAAC;MAC7BC,QAAQ,EAAEC,OAAO,CAACC,GAAG,CAACC,eAAe;MACrCC,QAAQ,mCAAAZ,MAAA,CAAmC,IAAIa,eAAe,CAACpB,MAAM,CAAC,CAAE;MACxE;MACAqB,OAAO,EAAE;QAAE,cAAc,EAAE7B,SAAS;QAAE,kBAAkB,EAAEA;MAAU;IACtE,CAAC,CAAC,CAAC8B,KAAK,CAAC3B,MAAM,CAAC;IAEhB,IAAI,CAACkB,QAAQ,IAAIA,QAAQ,CAACU,MAAM,KAAK,WAAW,EAAE,OAAO5B,MAAM,CAAC;MAAE6B,KAAK,EAAE;IAAgC,CAAC,CAAC,CAAC,CAAC;;IAE7G,MAAM;MACJC,YAAY,EAAEC,aAAa;MAC3BC,WAAW,EAAEC,IAAI;MACjBC,SAAS;MACTC,gBAAgB;MAChBC,WAAW,EAAEC;IACf,CAAC,GAAGnB,QAAQ;IACZ,MAAM5B,QAAQ,GAAGC,YAAY,IAAIwC,aAAa;IAC9C,MAAMO,yBAAe,CAACC,QAAQ,CAACjD,QAAQ,CAAC;IACxC,MAAMkD,KAAK,GAAGlC,MAAM,CAACmC,MAAM,CAACP,SAAS,CAAC;IAEtCnC,OAAO,CAAC;MACN2C,SAAS,EAAEF,KAAK,CAACG,IAAI,CAAC;QAAA,IAAC;UAAEC,iBAAiB,EAAEC,OAAO,GAAG,CAAC;QAAE,CAAC,GAAAlD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAAA,OAAKW,MAAM,CAACwC,IAAI,CAACD,OAAO,CAAC,CAACjD,MAAM,GAAG,CAAC;MAAA,EAAC;MACpG4C,KAAK,EAAEA,KAAK,CAACO,GAAG,CACd,YAAkG;QAAA,IAAjG;UAAEC,eAAe,EAAEC,YAAY;UAAEC,IAAI;UAAEC,WAAW,EAAEC,IAAI,GAAG,CAAC,CAAC;UAAER,iBAAiB,GAAG,CAAC;QAAE,CAAC,GAAAjD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;QAC3F,MAAM0D,KAAK,GAAG,EAAE;QAChB,MAAM;UACJC,WAAW;UACXC,YAAY,EAAE;YACZC,gBAAgB,EAAEC,OAAO,GAAG,EAAE;YAC9BC,YAAY,EAAE;cAAEC,KAAK;cAAEC,KAAK,EAAEC;YAAS,CAAC,GAAG,CAAC,CAAC;YAC7CC,MAAM;YACNC,QAAQ,EAAEC;UACZ,CAAC,GAAG,CAAC;QACP,CAAC,GAAGZ,IAAI;QACR,MAAM;UACJa,oBAAoB,EAAE;YAAEC,SAAS,EAAEC,MAAM,GAAG,CAAC;YAAEC,aAAa,EAAEC,QAAQ,GAAG;UAAE,CAAC,GAAG,CAAC,CAAC;UACjFhB,KAAK,EAAEiB;QACT,CAAC,GAAGhE,MAAM,CAACmC,MAAM,CAACG,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE7CtC,MAAM,CAACmC,MAAM,CAAC6B,eAAe,CAAC,CAACC,OAAO,CACpC,YAUW;UAAA,IAVV;YACCC,YAAY,EAAEC,MAAM;YACpBC,0BAA0B,EAAEC,SAAS;YACrCC,sBAAsB,EAAEC,UAAU;YAClCC,sBAAsB,EAAEC,UAAU;YAClCC,yBAAyB,EAAEC,WAAW;YACtCC,YAAY,EAAEC,QAAQ;YACtBjC,IAAI;YACJkC,WAAW,EAAEC,iBAAiB;YAC9BC;UACF,CAAC,GAAA3F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;UACJW,MAAM,CAACmC,MAAM,CAACgC,MAAM,CAAC,CAACF,OAAO,CAC3B,YAaW;YAAA,IAbV;cACCgB,cAAc,EAAEC,SAAS;cACzBC,MAAM;cACNC,oBAAoB,EAAEC,SAAS,GAAG,CAAC,CAAC;cACpCzF,EAAE;cACF0F,sBAAsB,EAAEC,GAAG;cAC3BC,sBAAsB,EAAEC,GAAG;cAC3BC,aAAa,EAAEC,KAAK;cACpBC,gBAAgB;cAChBC,eAAe,EAAEC,UAAU;cAC3BC,kBAAkB;cAClBC,mBAAmB,EAAEC,UAAU;cAC/BC;YACF,CAAC,GAAA7G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;YACJ,MAAM;cAAE8G,eAAe,EAAEC,SAAS;cAAEC,SAAS,EAAEC,IAAI;cAAEC,UAAU,EAAEC;YAAK,CAAC,GAAGnB,SAAS;YACnF,MAAMoB,KAAK,GAAG1E,KAAK,GAAGkE,UAAU,GAAGF,kBAAkB;YACrD,MAAMW,aAAa,GACjB,CAAC3E,KAAK,GACF4E,IAAI,CAACpB,GAAG,CAAC,CAAAiB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,SAAS,KAAI,CAAC,EAAE,CAAAN,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEM,SAAS,KAAI,CAAC,EAAE,CAAAR,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEQ,SAAS,KAAI,CAAC,CAAC,GAC/ED,IAAI,CAACpB,GAAG,CAAC,CAAAiB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,QAAQ,KAAI,CAAC,EAAE,CAAAP,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEO,QAAQ,KAAI,CAAC,EAAE,CAAAT,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAES,QAAQ,KAAI,CAAC,CAAC,KAAKJ,KAAK;YAE5F1D,KAAK,CAAC+D,IAAI,CAAC;cACTC,MAAM,EAAE,CAACtB,GAAG,EAAE9C,YAAY,GAAG4C,GAAG,GAAG5C,YAAY,GAAG4C,GAAG,CAAC;cACtDyB,SAAS,EAAE,IAAAC,uBAAc,EAAClB,kBAAkB,EAAE/G,QAAQ,CAAC;cACvDkG,SAAS;cACTgC,YAAY,EAAE;gBACZC,IAAI,EAAE,GAAA7G,MAAA,CAAGiE,UAAU,OAAAjE,MAAA,CAAI+D,SAAS,GAAGA,SAAS,GAAG,EAAE,EAAG+C,IAAI,CAAC,CAAC;gBAC1DC,KAAK,EAAE1C,WAAW;gBAClB2C,IAAI,EAAE7C;cACR,CAAC;cACD8C,QAAQ,EAAE,IAAAC,iBAAQ,EAAC;gBACjBxI,QAAQ;gBACRyC,aAAa;gBACbgF,KAAK,EAAE1E,KAAK,GAAGmE,iBAAiB,GAAGN;cACrC,CAAC,CAAC;cACF6B,IAAI,EAAEtC,MAAM,CAAC1C,GAAG,CACd;gBAAA,IAAC;kBACCiF,iBAAiB,EAAE/G,KAAK;kBACxBgH,OAAO,EAAEnB,IAAI;kBACboB,iBAAiB,EAAEZ,SAAS;kBAC5Ba,cAAc,EAAEpB;gBAClB,CAAC,GAAApH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;gBAAA,OAAM;kBACVmH,IAAI;kBACJC,KAAK,EAAE,IAAAe,iBAAQ,EAAC;oBAAExI,QAAQ;oBAAEyC,aAAa;oBAAEgF,KAAK,EAAE1E,KAAK,GAAG0E,KAAK,GAAGO;kBAAU,CAAC,CAAC;kBAC9ErG;gBACF,CAAC;cAAA,CACH,CAAC;cACDgF,KAAK;cACLmC,QAAQ,EAAE,IAAAC,sBAAa,EAAC;gBACtB/I,QAAQ;gBACRyC,aAAa;gBACb,GAAG4D,SAAS;gBACZqB,aAAa;gBACb3E,KAAK;gBACLkE,UAAU,EAAEQ;cACd,CAAC,CAAC;cACF7G,EAAE;cACFiF,QAAQ,EAAE,CAAC,GAAG,IAAImD,GAAG,CAAChI,MAAM,CAACmC,MAAM,CAAC0C,QAAQ,CAAC,CAACoD,IAAI,CAAC,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;cAClExB,aAAa,EAAE,IAAAc,iBAAQ,EAAC;gBAAExI,QAAQ;gBAAEyC,aAAa;gBAAEgF,KAAK,EAAEC;cAAc,CAAC,CAAC;cAC1ED,KAAK,EAAE,IAAAe,iBAAQ,EAAC;gBACdxI,QAAQ;gBACRyC,aAAa;gBACbgF,KAAK,EAAEA,KAAK,IAAI1E,KAAK,GAAG+D,UAAU,GAAG,CAAC;cACxC,CAAC,CAAC;cACFlD,IAAI;cACJmC,iBAAiB;cACjBC,YAAY;cACZjD,KAAK,EAAE,CAACA,KAAK,GACT,IAAAyF,iBAAQ,EAAC;gBAAExI,QAAQ;gBAAEyC,aAAa;gBAAEgF,KAAK,EAAER,UAAU,GAAGF,kBAAkB,GAAGD;cAAW,CAAC,CAAC,GAC1FvG;YACN,CAAC,CAAC;UACJ,CACF,CAAC;QACH,CACF,CAAC;QAED,OAAO;UACL4I,SAAS,EAAE,IAAAC,uBAAc,EAACtF,IAAI,CAAC;UAC/BH,YAAY;UACZ0F,cAAc,EAAElF,OAAO,CAACV,GAAG,CAAE6F,IAAI,IAAKC,0BAAe,CAACD,IAAI,CAAC,CAAC;UAC5DE,QAAQ,EAAErF,OAAO,CAACsF,MAAM,CAAC,CAACnH,MAAM,EAAEoH,IAAI,KAAK;YACzCH,0BAAe,CAACG,IAAI,CAAC,CAACzE,OAAO,CAAC,YAA2B;cAAA,IAA1B;gBAAE8C,MAAM;gBAAEuB;cAAK,CAAC,GAAAjJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;cAClD,IAAI,CAACZ,MAAM,EAAEC,MAAM,CAAC,CAACiK,QAAQ,CAACL,IAAI,CAAC,IAAIvB,MAAM,GAAG,CAAC,EAAEzF,MAAM,CAACA,MAAM,CAAChC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGgJ,IAAI;YACzF,CAAC,CAAC;YAEF,OAAOhH,MAAM;UACf,CAAC,EAAE,EAAE,CAAC;UACN0B,WAAW;UACX4F,MAAM,EAAEpF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEf,GAAG,CAAC;YAAA,IAAC;cAAEoG,mBAAmB,EAAEC,GAAG;cAAEC,QAAQ,EAAEC,KAAK;cAAEC,aAAa,EAAEC;YAAU,CAAC,GAAA7J,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;YAAA,OAAM;cACrGyJ,GAAG;cACHE,KAAK;cACLE;YACF,CAAC;UAAA,CAAC,CAAC;UACHtG,IAAI;UACJuG,aAAa,EAAEtF,MAAM,GAAGE,QAAQ;UAChCqF,KAAK,EAAE/F,KAAK,IAAIE,QAAQ,GAAG;YAAEF,KAAK;YAAEE;UAAS,CAAC,GAAGhE,SAAS;UAC1DwD,KAAK;UACLW,IAAI,EAAEA,IAAI,MAAApD,MAAA,CAAMoD,IAAI,OAAApD,MAAA,CAAI+I,eAAI,CAAC1H,IAAI,CAAC,CAAC+B,IAAI,IAAKnE;QAC9C,CAAC;MACH,CACF,CAAC;MACDwC,KAAK,EAAE,CAACA,KAAK,GAAGF,gBAAgB,CAACyH,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG/J;IAC9D,CAAC,CAAC;EACJ,CAAC,CAAC;AAAA;AAACgK,OAAA,CAAA1K,GAAA,GAAAA,GAAA"}
1
+ {"version":3,"file":"get.js","names":["_dataSources","require","_services","_jsSha","_interopRequireDefault","_constants","_helpers","obj","__esModule","default","DOUBLE","SINGLE","BED_TYPE","get","clubDiscount","applyClubDiscount","currency","userCurrency","locale","session","authorization","others","arguments","length","undefined","Promise","resolve","reject","_club$clubLogin","idtokenprovider","id","checkin","nights","club","authentication","type","language","split","params","Object","entries","accessClubToken","cid","sha1","concat","KEY_HASH","lang","parseExternalToken","filter","_ref","value","response","request","hostname","process","env","SERVICE_BOOKING","endpoint","URLSearchParams","headers","catch","result","error","availabilitySuggestions","availability","currencyCode","hotelCurrency","firstChildInterval","measureUnit","unit","messages","availabilityMessage","notOccupationRequested","notOccupation","roomTypes","taxesInformation","vatIncluded","taxes","notCalendar","ServiceCurrency","exchange","items","values","clubConditions","EXTERNAL","ID","includes","URL","DEFAULT_LANGUAGE","infantAge","lowerBound","map","amountAvailable","name","newInfoRoom","info","occupationOptions","description","roomTypeInfo","bedDistributions","bedType","galleryMedia","url3D","video","urlVideo","photos","roomSize","size","occupationQuantities","numAdults","adults","totalChildren","children","rates","amenities","parseAmenities","bedDisposition","BED_DISPOSITION","bedTypes","reduce","next","forEach","amount","parseBoards","images","photoAltDescription","alt","urlLarge","large","urlMediumRect","thumbnail","maxOccupation","media","UNIT","externalLogoff","TYPE","clubLogin","status","VALID","replace","exports"],"sources":["../../../src/services/Rates/get.js"],"sourcesContent":["/* eslint-disable no-async-promise-executor */\nimport { request } from '@mirai/data-sources';\nimport { ServiceCurrency } from '@mirai/services';\nimport sha1 from 'js-sha1';\n\nimport { BED_DISPOSITION, BED_TYPE, DEFAULT_LANGUAGE, EXTERNAL, KEY_HASH, UNIT, VALID } from './constants';\nimport { parseAmenities, parseBoards, parseExternalToken } from './helpers';\n\nconst { DOUBLE, SINGLE } = BED_TYPE;\n\nexport const get = ({\n clubDiscount: applyClubDiscount,\n currency: userCurrency,\n locale,\n session: { authorization } = {},\n ...others\n} = {}) =>\n new Promise(async (resolve, reject) => {\n if (!userCurrency || !locale) return reject();\n\n const { idtokenprovider: id, checkin, nights, club: { authentication: { type } = {} } = {} } = others;\n const language = locale?.split('-')[0];\n const params = Object.entries({\n applyClubDiscount,\n currency: userCurrency,\n ...others,\n accessClubToken: authorization,\n cid: sha1(`${KEY_HASH}-${id}-${checkin}-${nights}`),\n lang: language,\n ...parseExternalToken(others),\n }).filter(([, value]) => value !== undefined);\n\n const response = await request({\n hostname: process.env.SERVICE_BOOKING,\n endpoint: `/request_availability_v2.json?${new URLSearchParams(params)}`,\n //TODO: back have to change the endpoint for don`t have remove this headers\n headers: { 'Content-Type': undefined, 'X-Requested-With': undefined },\n }).catch(reject);\n\n if (!response || response.result === 'EXCEPTION') return reject({ error: 'Upss, something bad happened!' }); //TODO\n\n const {\n club,\n availabilitySuggestions: availability,\n currencyCode: hotelCurrency,\n firstChildInterval = {},\n measureUnit: unit,\n messages: { availabilityMessage: { notOccupationRequested: notOccupation } = {} } = {},\n roomTypes,\n taxesInformation,\n vatIncluded: taxes,\n } = response;\n\n if (notOccupation || availability !== null) {\n // ! TODO spread availability object (from, to, disabledDates)\n return reject({ notOccupation, notCalendar: availability !== null, availability });\n }\n\n const currency = userCurrency || hotelCurrency;\n\n await ServiceCurrency.exchange(currency);\n const items = Object.values(roomTypes);\n\n resolve({\n clubConditions: EXTERNAL.ID.includes(id) ? EXTERNAL.URL[language] || EXTERNAL.URL[DEFAULT_LANGUAGE] : undefined,\n infantAge: firstChildInterval?.lowerBound,\n items: items.map(\n ({ amountAvailable: availability, name, newInfoRoom: info = {}, occupationOptions = {} } = {}) => {\n const {\n description,\n roomTypeInfo: {\n bedDistributions: bedType = [],\n galleryMedia: { url3D, video: urlVideo } = {},\n photos,\n roomSize: size,\n } = {},\n } = info;\n const { occupationQuantities: { numAdults: adults = 0, totalChildren: children = 0 } = {}, rates } =\n Object.values(occupationOptions)[0] || {};\n\n return {\n amenities: parseAmenities(info),\n availability,\n bedDisposition: bedType.map((type) => BED_DISPOSITION[type]),\n bedTypes: bedType.reduce((result, next) => {\n BED_DISPOSITION[next].forEach(({ amount, type } = {}) => {\n if ([DOUBLE, SINGLE].includes(type) && amount > 0) result[result.length ? 1 : 0] = type;\n });\n\n return result;\n }, []),\n ...parseBoards({ currency, hotelCurrency, rates, taxes }),\n description,\n images: photos?.map(({ photoAltDescription: alt, urlLarge: large, urlMediumRect: thumbnail } = {}) => ({\n alt,\n large,\n thumbnail,\n })),\n name,\n maxOccupation: adults + children,\n media: url3D || urlVideo ? { url3D, urlVideo } : undefined,\n size: size ? `${size} ${UNIT[unit].size}` : undefined,\n };\n },\n ),\n externalLogoff: authorization && type === EXTERNAL.TYPE && club?.clubLogin?.status !== VALID,\n taxes: !taxes ? taxesInformation.replace(/\\r?\\n|\\r/g, '') : undefined,\n });\n });\n"],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getIncrements = void 0;
7
+ const getIncrements = _ref => {
8
+ let {
9
+ cancellations,
10
+ boards,
11
+ rates
12
+ } = _ref;
13
+ const sortedBoards = boards.sort((a, b) => a.price - b.price);
14
+ return {
15
+ cancellations: cancellations.map(_ref2 => {
16
+ let {
17
+ id,
18
+ ...others
19
+ } = _ref2;
20
+ const lowerPrice = sortedBoards[0].price;
21
+ const price = sortedBoards.filter(_ref3 => {
22
+ let {
23
+ cancellationId
24
+ } = _ref3;
25
+ return cancellationId === id;
26
+ })[0].price;
27
+ return {
28
+ id,
29
+ ...others,
30
+ price: price - lowerPrice
31
+ };
32
+ }).sort((a, b) => a.price - b.price),
33
+ rates: rates.map(_ref4 => {
34
+ let {
35
+ id,
36
+ cancellationId,
37
+ ...others
38
+ } = _ref4;
39
+ const lowerPrice = sortedBoards.filter(board => cancellationId === board.cancellationId)[0].price;
40
+ const price = sortedBoards.filter(_ref5 => {
41
+ let {
42
+ rateId
43
+ } = _ref5;
44
+ return rateId === id;
45
+ })[0].price;
46
+ return {
47
+ id,
48
+ cancellationId,
49
+ ...others,
50
+ price: price - lowerPrice
51
+ };
52
+ }).sort((a, b) => a.price - b.price),
53
+ boards: boards.map(board => {
54
+ const lowerPrice = sortedBoards.filter(_ref6 => {
55
+ let {
56
+ cancellationId,
57
+ rateId
58
+ } = _ref6;
59
+ return cancellationId === board.cancellationId && rateId === board.rateId;
60
+ })[0].price;
61
+ return {
62
+ ...board,
63
+ increment: board.price - lowerPrice
64
+ };
65
+ }).sort((a, b) => a.increment - b.increment)
66
+ };
67
+ };
68
+ exports.getIncrements = getIncrements;
69
+ //# sourceMappingURL=getIncrements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIncrements.js","names":["getIncrements","_ref","cancellations","boards","rates","sortedBoards","sort","a","b","price","map","_ref2","id","others","lowerPrice","filter","_ref3","cancellationId","_ref4","board","_ref5","rateId","_ref6","increment","exports"],"sources":["../../../../src/services/Rates/helpers/getIncrements.js"],"sourcesContent":["export const getIncrements = ({ cancellations, boards, rates }) => {\n const sortedBoards = boards.sort((a, b) => a.price - b.price);\n\n return {\n cancellations: cancellations\n .map(({ id, ...others }) => {\n const lowerPrice = sortedBoards[0].price;\n const price = sortedBoards.filter(({ cancellationId }) => cancellationId === id)[0].price;\n\n return {\n id,\n ...others,\n price: price - lowerPrice,\n };\n })\n .sort((a, b) => a.price - b.price),\n rates: rates\n .map(({ id, cancellationId, ...others }) => {\n const lowerPrice = sortedBoards.filter((board) => cancellationId === board.cancellationId)[0].price;\n const price = sortedBoards.filter(({ rateId }) => rateId === id)[0].price;\n\n return {\n id,\n cancellationId,\n ...others,\n price: price - lowerPrice,\n };\n })\n .sort((a, b) => a.price - b.price),\n boards: boards\n .map((board) => {\n const lowerPrice = sortedBoards.filter(\n ({ cancellationId, rateId }) => cancellationId === board.cancellationId && rateId === board.rateId,\n )[0].price;\n\n return {\n ...board,\n increment: board.price - lowerPrice,\n };\n })\n .sort((a, b) => a.increment - b.increment),\n };\n};\n"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAGC,IAAA,IAAsC;EAAA,IAArC;IAAEC,aAAa;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAAH,IAAA;EAC5D,MAAMI,YAAY,GAAGF,MAAM,CAACG,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,KAAK,GAAGD,CAAC,CAACC,KAAK,CAAC;EAE7D,OAAO;IACLP,aAAa,EAAEA,aAAa,CACzBQ,GAAG,CAACC,KAAA,IAAuB;MAAA,IAAtB;QAAEC,EAAE;QAAE,GAAGC;MAAO,CAAC,GAAAF,KAAA;MACrB,MAAMG,UAAU,GAAGT,YAAY,CAAC,CAAC,CAAC,CAACI,KAAK;MACxC,MAAMA,KAAK,GAAGJ,YAAY,CAACU,MAAM,CAACC,KAAA;QAAA,IAAC;UAAEC;QAAe,CAAC,GAAAD,KAAA;QAAA,OAAKC,cAAc,KAAKL,EAAE;MAAA,EAAC,CAAC,CAAC,CAAC,CAACH,KAAK;MAEzF,OAAO;QACLG,EAAE;QACF,GAAGC,MAAM;QACTJ,KAAK,EAAEA,KAAK,GAAGK;MACjB,CAAC;IACH,CAAC,CAAC,CACDR,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,KAAK,GAAGD,CAAC,CAACC,KAAK,CAAC;IACpCL,KAAK,EAAEA,KAAK,CACTM,GAAG,CAACQ,KAAA,IAAuC;MAAA,IAAtC;QAAEN,EAAE;QAAEK,cAAc;QAAE,GAAGJ;MAAO,CAAC,GAAAK,KAAA;MACrC,MAAMJ,UAAU,GAAGT,YAAY,CAACU,MAAM,CAAEI,KAAK,IAAKF,cAAc,KAAKE,KAAK,CAACF,cAAc,CAAC,CAAC,CAAC,CAAC,CAACR,KAAK;MACnG,MAAMA,KAAK,GAAGJ,YAAY,CAACU,MAAM,CAACK,KAAA;QAAA,IAAC;UAAEC;QAAO,CAAC,GAAAD,KAAA;QAAA,OAAKC,MAAM,KAAKT,EAAE;MAAA,EAAC,CAAC,CAAC,CAAC,CAACH,KAAK;MAEzE,OAAO;QACLG,EAAE;QACFK,cAAc;QACd,GAAGJ,MAAM;QACTJ,KAAK,EAAEA,KAAK,GAAGK;MACjB,CAAC;IACH,CAAC,CAAC,CACDR,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,KAAK,GAAGD,CAAC,CAACC,KAAK,CAAC;IACpCN,MAAM,EAAEA,MAAM,CACXO,GAAG,CAAES,KAAK,IAAK;MACd,MAAML,UAAU,GAAGT,YAAY,CAACU,MAAM,CACpCO,KAAA;QAAA,IAAC;UAAEL,cAAc;UAAEI;QAAO,CAAC,GAAAC,KAAA;QAAA,OAAKL,cAAc,KAAKE,KAAK,CAACF,cAAc,IAAII,MAAM,KAAKF,KAAK,CAACE,MAAM;MAAA,CACpG,CAAC,CAAC,CAAC,CAAC,CAACZ,KAAK;MAEV,OAAO;QACL,GAAGU,KAAK;QACRI,SAAS,EAAEJ,KAAK,CAACV,KAAK,GAAGK;MAC3B,CAAC;IACH,CAAC,CAAC,CACDR,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACgB,SAAS,GAAGf,CAAC,CAACe,SAAS;EAC7C,CAAC;AACH,CAAC;AAACC,OAAA,CAAAxB,aAAA,GAAAA,aAAA"}
@@ -36,6 +36,17 @@ Object.keys(_parseAmenities).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
+ var _parseBoards = require("./parseBoards");
40
+ Object.keys(_parseBoards).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _parseBoards[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _parseBoards[key];
47
+ }
48
+ });
49
+ });
39
50
  var _parseDiscount = require("./parseDiscount");
40
51
  Object.keys(_parseDiscount).forEach(function (key) {
41
52
  if (key === "default" || key === "__esModule") return;
@@ -47,4 +58,15 @@ Object.keys(_parseDiscount).forEach(function (key) {
47
58
  }
48
59
  });
49
60
  });
61
+ var _parseExternalToken = require("./parseExternalToken");
62
+ Object.keys(_parseExternalToken).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _parseExternalToken[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _parseExternalToken[key];
69
+ }
70
+ });
71
+ });
50
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_getPrice","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_normalizePrice","_parseAmenities","_parseDiscount"],"sources":["../../../../src/services/Rates/helpers/index.js"],"sourcesContent":["export * from './getPrice';\nexport * from './normalizePrice';\nexport * from './parseAmenities';\nexport * from './parseDiscount';\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,eAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,eAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,eAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,eAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,eAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,eAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,eAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,cAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,cAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,cAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,cAAA,CAAAP,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_getPrice","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_normalizePrice","_parseAmenities","_parseBoards","_parseDiscount","_parseExternalToken"],"sources":["../../../../src/services/Rates/helpers/index.js"],"sourcesContent":["export * from './getPrice';\nexport * from './normalizePrice';\nexport * from './parseAmenities';\nexport * from './parseBoards';\nexport * from './parseDiscount';\nexport * from './parseExternalToken';\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,eAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,eAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,eAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,eAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,eAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,eAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,eAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,eAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,YAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,YAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,YAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,YAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,cAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,cAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,cAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,cAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,mBAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,mBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,mBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,mBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseBoards = void 0;
7
+ var _getIncrements = require("./getIncrements");
8
+ var _getPrice = require("./getPrice");
9
+ var _normalizePrice = require("./normalizePrice");
10
+ var _parseDiscount = require("./parseDiscount");
11
+ const parseBoards = _ref => {
12
+ let {
13
+ currency,
14
+ hotelCurrency,
15
+ rates: baseRates = {},
16
+ taxes
17
+ } = _ref;
18
+ const cancellations = [];
19
+ const rates = [];
20
+ const boards = [];
21
+ Object.values(baseRates).forEach(function () {
22
+ let {
23
+ // 1. cancellations
24
+ cancellationPolicyDeadline: cancelCaption,
25
+ cancellationPolicyName: cancelName,
26
+ cancellationPolicyText: cancelText,
27
+ cancellationPolicyTooltip: cancelTitle,
28
+ cancellationPolicyTypeEnum: cancelId,
29
+ // 2. rates
30
+ id: rateId,
31
+ includedList: included,
32
+ name,
33
+ offer = false,
34
+ paymentText: paymentConditions,
35
+ restrictions,
36
+ // 3. boards
37
+ boardOptions = {}
38
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
39
+ // 1. get cancellations
40
+ let cancellation = cancellations.find(function () {
41
+ let {
42
+ id
43
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
44
+ return id === "".concat(cancelId, "-").concat(cancelTitle);
45
+ });
46
+ if (!cancellation) {
47
+ cancellation = {
48
+ caption: cancelCaption,
49
+ id: "".concat(cancelId, "-").concat(cancelTitle),
50
+ name: cancelName,
51
+ title: cancelTitle,
52
+ text: cancelText
53
+ };
54
+ cancellations.push(cancellation);
55
+ }
56
+
57
+ // 2. get rates
58
+ // ! TODO get the cheapeast board for current rate
59
+ rates.push({
60
+ id: rateId,
61
+ cancellationId: cancellation.id,
62
+ name,
63
+ offer
64
+ });
65
+
66
+ // 3. get boards
67
+ Object.values(boardOptions).forEach(_ref2 => {
68
+ let {
69
+ boardGroupName: name,
70
+ detail,
71
+ discountPricesBefore: discounts = {},
72
+ id,
73
+ offersApplied: deals,
74
+ originalAvgPrice,
75
+ totalLocalTaxes: localTaxes,
76
+ totalPriceOriginal,
77
+ totalPriceWithTaxes: totalPrice,
78
+ withTaxesAvgPrice
79
+ } = _ref2;
80
+ const {
81
+ clientCodeTotal: promoCode,
82
+ clubTotal: club,
83
+ offerTotal: deal
84
+ } = discounts;
85
+ const price = taxes ? totalPrice : totalPriceOriginal;
86
+ const originalPrice = (taxes ? Math.max((deal === null || deal === void 0 ? void 0 : deal.withTaxes) || 0, (club === null || club === void 0 ? void 0 : club.withTaxes) || 0, (promoCode === null || promoCode === void 0 ? void 0 : promoCode.withTaxes) || 0) : Math.max((deal === null || deal === void 0 ? void 0 : deal.original) || 0, (club === null || club === void 0 ? void 0 : club.original) || 0, (promoCode === null || promoCode === void 0 ? void 0 : promoCode.original) || 0)) || price;
87
+ boards.push({
88
+ cancellationId: cancellation.id,
89
+ rateId,
90
+ // rate info
91
+ included: [...new Set(Object.values(included).flat())].slice(0, 3),
92
+ paymentConditions,
93
+ restrictions,
94
+ // board info
95
+ basePrice: (0, _normalizePrice.normalizePrice)(totalPriceOriginal, currency),
96
+ name,
97
+ dayPrice: (0, _getPrice.getPrice)({
98
+ currency,
99
+ hotelCurrency,
100
+ price: taxes ? withTaxesAvgPrice : originalAvgPrice
101
+ }),
102
+ days: detail.map(function () {
103
+ let {
104
+ dayStandardFormat: value,
105
+ offerId: deal,
106
+ priceWithoutTaxes: basePrice,
107
+ priceWithTaxes: price
108
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
109
+ return {
110
+ deal,
111
+ price: (0, _getPrice.getPrice)({
112
+ currency,
113
+ hotelCurrency,
114
+ price: taxes ? price : basePrice
115
+ }),
116
+ value
117
+ };
118
+ }),
119
+ deals,
120
+ discount: (0, _parseDiscount.parseDiscount)({
121
+ currency,
122
+ hotelCurrency,
123
+ ...discounts,
124
+ originalPrice,
125
+ taxes,
126
+ totalPrice: price
127
+ }),
128
+ id,
129
+ originalPrice: (0, _getPrice.getPrice)({
130
+ currency,
131
+ hotelCurrency,
132
+ price: originalPrice
133
+ }),
134
+ price: (0, _getPrice.getPrice)({
135
+ currency,
136
+ hotelCurrency,
137
+ price: price + (taxes ? localTaxes : 0)
138
+ }),
139
+ taxes: !taxes ? (0, _getPrice.getPrice)({
140
+ currency,
141
+ hotelCurrency,
142
+ price: totalPrice - totalPriceOriginal + localTaxes
143
+ }) : undefined
144
+ });
145
+ });
146
+ });
147
+ return {
148
+ ...(0, _getIncrements.getIncrements)({
149
+ cancellations,
150
+ rates,
151
+ boards
152
+ })
153
+ };
154
+ };
155
+ exports.parseBoards = parseBoards;
156
+ //# sourceMappingURL=parseBoards.js.map