tango-app-api-trax 3.8.25 → 3.8.26-nike

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.
@@ -608,7 +608,7 @@ export const flagCardsV1 = async ( req, res ) => {
608
608
  {
609
609
  client_id: clientId,
610
610
  publish: true,
611
- checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert' ] },
611
+ checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring' ] },
612
612
  },
613
613
  { checkListType: 1 },
614
614
  );
@@ -2743,7 +2743,7 @@ export const checklistDropdownV1 = async ( req, res ) => {
2743
2743
  $or: [
2744
2744
  { questionFlag: { $gte: 1 } },
2745
2745
  { timeFlag: { $gte: 1 } },
2746
- { checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert' ] } },
2746
+ { checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring' ] } },
2747
2747
  {
2748
2748
  runAIQuestionCount: { $gte: 1 },
2749
2749
  },
@@ -2945,7 +2945,7 @@ export const flagComparisonCardsV2 = async ( req, res ) => {
2945
2945
  {
2946
2946
  client_id: requestData.clientId,
2947
2947
  publish: true,
2948
- checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert' ] },
2948
+ checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring' ] },
2949
2949
  },
2950
2950
  { checkListType: 1 },
2951
2951
  );
@@ -3047,7 +3047,7 @@ export const flagTablesV2 = async ( req, res ) => {
3047
3047
  }
3048
3048
 
3049
3049
  if ( requestData?.filter === 'all' ) {
3050
- findAndQuery.push( { $or: [ { checkListType: { $in: [ 'custom', 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert' ] } } ] } );
3050
+ findAndQuery.push( { $or: [ { checkListType: { $in: [ 'custom', 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring' ] } } ] } );
3051
3051
  } else if ( requestData?.filter === 'question' ) {
3052
3052
  findAndQuery.push( { checkListType: 'custom' } );
3053
3053
  findAndQuery.push( { questionFlag: { $gte: 1 } } );
@@ -3055,7 +3055,7 @@ export const flagTablesV2 = async ( req, res ) => {
3055
3055
  findAndQuery.push( { checkListType: 'custom' } );
3056
3056
  findAndQuery.push( { timeFlag: { $gte: 1 } } );
3057
3057
  } else if ( requestData?.filter === 'detection' ) {
3058
- findAndQuery.push( { checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert' ] } } );
3058
+ findAndQuery.push( { checkListType: { $in: [ 'customerunattended', 'mobileusagedetection', 'staffleftinthemiddle', 'storeopenandclose', 'uniformdetection', 'cleaning', 'scrum', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount', 'storehygienemonitoring' ] } } );
3059
3059
  } else if ( requestData?.filter === 'runAI' ) {
3060
3060
  if ( req.body.runAIChecklistName ) {
3061
3061
  findAndQuery.push( { checkListName: { $in: req.body.runAIChecklistName } } );
@@ -1729,6 +1729,7 @@ export const updateConfigure = async ( req, res ) => {
1729
1729
  owner: inputBody?.checkListDetails?.owner || [],
1730
1730
  restrictAttendance: inputBody?.checkListDetails?.restrictAttendance || false,
1731
1731
  enableNewDeployedStore: inputBody?.checkListDetails?.enableNewDeployedStore || false,
1732
+ redoValidity: inputBody?.checkListDetails?.redoValidity || 7,
1732
1733
  };
1733
1734
 
1734
1735
  if ( inputBody?.checkListDetails?.approver.length ) {
@@ -3907,6 +3908,8 @@ async function insertPCBulkV4( getCLconfig, checklistId, currentdate, updatedche
3907
3908
  }
3908
3909
  }
3909
3910
  getsubmitDetails[0].questionAnswers = sectionList;
3911
+ getsubmitDetails[0].scheduleEndTime = getCLconfig.scheduleEndTime;
3912
+ getsubmitDetails[0].scheduleEndTime_iso = endTimeIso.format();
3910
3913
  if ( modifiedCount ) {
3911
3914
  getsubmitDetails[0].checklistStatus = 'inprogress';
3912
3915
  getsubmitDetails[0].date_string = dayjs( currentdate ).format( 'YYYY-MM-DD' );
@@ -4030,6 +4033,7 @@ async function insertPCBulkV4( getCLconfig, checklistId, currentdate, updatedche
4030
4033
  }, { userId: 1, store_id: 1 } );
4031
4034
 
4032
4035
  if ( inprogressData.length ) {
4036
+ await processedchecklist.updateMany( { _id: { $in: inprogressData.map( ( ele ) => new ObjectId( ele._id ) ) } }, { scheduleEndTime: getCLconfig.scheduleEndTime, scheduleEndTime_iso: endTimeIso.format() } );
4033
4037
  inprogressData.forEach( ( item ) => {
4034
4038
  let checkData = assignUserList.find( ( ele ) => ele.userId.toString() == item.userId.toString() && ele.store_id == item.store_id );
4035
4039
  if ( !checkData ) {
@@ -4127,7 +4131,7 @@ async function updateOpenSearch( user, data ) {
4127
4131
  export const aiChecklist = async ( req, res ) => {
4128
4132
  try {
4129
4133
  let storeDetails = await storeService.count( { clientId: req.query.clientId, status: 'active' } );
4130
- let aiList = [ 'mobileusagedetection', 'storeopenandclose', 'uniformdetection', 'staffleftinthemiddle', 'customerunattended', 'eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'cleaning', 'scrum', 'suspiciousactivity', 'boxalert', 'suspiciousfootfall', 'drinking', 'bagdetection', 'inventorycount', 'carsattended', 'numberplateinfo', 'vehicle_check_in', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert' ];
4134
+ let aiList = [ 'mobileusagedetection', 'storeopenandclose', 'uniformdetection', 'staffleftinthemiddle', 'customerunattended', 'eyetest', 'remoteoptometrist', 'storehygienemonitoring', 'cleaning', 'scrum', 'suspiciousactivity', 'suspiciousfootfall', 'drinking', 'bagdetection', 'inventorycount', 'carsattended', 'numberplateinfo', 'vehicle_check_in', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount' ];
4131
4135
  let checklistDetails = [];
4132
4136
  let publishList = [];
4133
4137
  let unpublishList = [];
@@ -4140,7 +4144,7 @@ export const aiChecklist = async ( req, res ) => {
4140
4144
  checklistDetails = [ ...publishList, ...unpublishList ];
4141
4145
 
4142
4146
  checklistDetails.forEach( ( item ) => {
4143
- if ( ![ 'mobileusagedetection', 'storeopenandclose', 'cleaning', 'scrum', 'uniformdetection', 'staffleftinthemiddle', 'customerunattended', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert' ].includes( item.checkListType ) ) {
4147
+ if ( ![ 'mobileusagedetection', 'storeopenandclose', 'cleaning', 'scrum', 'uniformdetection', 'staffleftinthemiddle', 'customerunattended', 'outsidebusinesshoursqueuetracking', 'halfshutter', 'tvcompliance', 'cameratampering', 'queuealert', 'staffgrouping', 'boxalert', 'employeeCount' ].includes( item.checkListType ) ) {
4144
4148
  item.storeCount = storeDetails;
4145
4149
  }
4146
4150
  } );
package/src/hbs/flag.hbs CHANGED
@@ -1,249 +1,249 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
-
6
- <meta charset="utf-8">
7
- <meta http-equiv="x-ua-compatible" content="ie=edge">
8
- <title>Trial Intiate Email</title>
9
- <meta name="viewport" content="width=device-width, initial-scale=1">
10
- <style type="text/css">
11
- @media screen {
12
- @font-face {
13
- font-family: 'Inter';
14
- font-style: normal;
15
- font-weight: 400;
16
- font-display: swap;
17
- src: local("Inter"), local("Inter-Regular"), url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');
18
- unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
19
- }
20
- }
21
-
22
- body {
23
- font-family: "Inter", sans-serif !important;
24
- }
25
-
26
- body,
27
- table,
28
- td,
29
- a {
30
- -ms-text-size-adjust: 100%;
31
- -webkit-text-size-adjust: 100%;
32
- }
33
-
34
- table,
35
- td {
36
- mso-table-rspace: 0pt;
37
- mso-table-lspace: 0pt;
38
- }
39
-
40
- img {
41
- -ms-interpolation-mode: bicubic;
42
- }
43
-
44
- a[x-apple-data-detectors] {
45
- font-family: "inherit" !important;
46
- font-size: inherit !important;
47
- font-weight: inherit !important;
48
- line-height: inherit !important;
49
- color: inherit !important;
50
- text-decoration: none !important;
51
- }
52
-
53
-
54
- div[style*="margin: 16px 0;"
55
-
56
- ] {
57
- margin: 0 !important;
58
- }
59
-
60
- body {
61
- width: 100% !important;
62
- height: 100% !important;
63
- padding: 0 !important;
64
- margin: 0 !important;
65
- }
66
-
67
-
68
- table {
69
- border-collapse: collapse !important;
70
- }
71
-
72
- a {
73
- color: #1a82e2;
74
- }
75
-
76
- img {
77
- height: auto;
78
- line-height: 100%;
79
- text-decoration: none;
80
- border: 0;
81
- outline: none;
82
- }
83
-
84
- .flagText {
85
- /* font-family: 'Inter'; */
86
- /* color: #667085 !important; */
87
- font-size: 16px;
88
- font-weight: 600;
89
- line-height: 24px;
90
- text-align: left;
91
-
92
- }
93
- </style>
94
-
95
- </head>
96
-
97
- <body style="background-color: #dbe5ea;">
98
-
99
- <div class="preheader"
100
- style="display: none; max-width: 0; max-height: 0; overflow: hidden; font-size: 1px; line-height: 1px; color: #fff; opacity: 0;">
101
- Email Summary (Hidden)
102
- </div>
103
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="padding-left:10px;padding-right:10px">
104
- <tr>
105
- <td bgcolor="#dbe5ea" style="padding:32px 10px 0 10px">
106
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;" align="center">
107
- <tr>
108
- <td class="o_bg-white o_px-md o_py-md o_sans o_text"
109
- style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 24px;background-color: #ffffff;padding-left: 18px;padding-right: 24px;padding-top: 24px;padding-bottom: 24px;">
110
- <p style="margin-top: 0px;margin-bottom: 0px;"><a class="o_text-white"
111
- href="https://tangoeye.ai/"
112
- style="text-decoration: none;outline: none;color: #ffffff;"><img
113
- src="https://devtangoretail-api.tangoeye.ai/logo.png" width="200" height="100"
114
- alt="SimpleApp"
115
- style="-ms-interpolation-mode: bicubic;vertical-align: middle;border: 0;line-height: 100%;height: auto;outline: none;text-decoration: none;"></a>
116
- </p>
117
- </td>
118
- </tr>
119
- <tr>
120
- <td align="left" bgcolor="#ffffff"
121
- style="padding-left: 30px;padding-right: 24px; font-size: 14px; line-height: 24px;">
122
- <p class="o_heading o_mb-xxs"
123
- style="width: 624px;height: 0px;border: 1px solid #CBD5E1;flex: none;order: 1;flex-grow: 0;">
124
- </p>
125
- </td>
126
- </tr>
127
- <tr>
128
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
129
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
130
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
131
- style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 28px;color: #82899a;">
132
- <span class="o_heading o_text-dark o_mb-xxs"
133
- style="font-weight: 400;margin-top: 0px;margin-bottom: 4px;color: #121A26;line-height: 140%;">
134
- Hi,<br />
135
- Flag has been detected based on the response submitted in a recently completed
136
- checklist for Store {{data.storeName}}. Review
137
- the flagged item and take the necessary action from the dashboard.
138
- </span>
139
- </div>
140
- </td>
141
- </tr>
142
- <tr>
143
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
144
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
145
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
146
- style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 28px;color: #82899a;">
147
- <span class="o_heading o_text-dark o_mb-xxs"
148
- style="font-weight: 400;margin-top: 0px;margin-bottom: 4px;color: #121A26;line-height: 140%;">
149
- Details of the checklist are as follows:
150
- </span>
151
- </div>
152
- </td>
153
- </tr>
154
- </table>
155
- </td>
156
- </tr>
157
- <tr>
158
- <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 0 10px">
159
- <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="100%"
160
- style="max-width: 680px;">
161
- <tr bgcolor="#ffffff" style="border:none;margin-top:0px;">
162
- <td class="flagText" style="padding-left:30px; line-height: 24px;color:#000000">Store Name :
163
- </td>
164
- <td></td>
165
- <td></td>
166
- <td class="flagText">{{data.storeName}}</td>
167
- </tr>
168
- <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
169
- <td class="flagText" style="padding-left:30px; line-height: 24px;">Checklist Name :</td>
170
- <td></td>
171
- <td></td>
172
- <td class="flagText">{{data.checklistName}}</td>
173
- </tr>
174
-
175
- <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
176
- <td class="flagText" style="padding-left:30px; line-height: 24px;">No of Flags :</td>
177
- <td></td>
178
- <td></td>
179
- <td class="flagText">{{data.flagCount}}</td>
180
- </tr>
181
- <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
182
- <td class="flagText" style="padding-left:30px; line-height: 24px;">Submitted By :</td>
183
- <td></td>
184
- <td></td>
185
- <td class="flagText">{{data.submittedBy}}</td>
186
- </tr>
187
- <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
188
- <td class="flagText" style="padding-left:30px; line-height: 24px;">Date & Time :</td>
189
- <td></td>
190
- <td></td>
191
- <td class="flagText">{{data.time}}</td>
192
- </tr>
193
- </table>
194
- </td>
195
- </tr>
196
- <tr>
197
- <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 0 10px">
198
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;">
199
- <tr>
200
- <td bgcolor="#ffffff" style="padding: 20px;padding-top:15px;padding-left:30px;">
201
- <table border="0" cellpadding="0" cellspacing="0">
202
- <tr>
203
- <td align="center" bgcolor="#00A3FF" style="border-radius: 6px;height:50px;">
204
- <a href="{{data.domain}}" target="_blank"
205
- style="display: inline-block; padding: 16px 36px; font-size: 16px; color: #ffffff; text-decoration: none; border-radius: 6px;">View
206
- Flags
207
- </a>
208
- </td>
209
- </tr>
210
- </table>
211
- </td>
212
- </tr>
213
- </table>
214
- </td>
215
- </tr>
216
- <tr>
217
- <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 32px 10px;">
218
- <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;">
219
- <tr>
220
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
221
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-top:5px">
222
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
223
- style="margin-top: 0px;margin-bottom: 0px;font-size: 12px;color: #202B3C;font-style: normal;font-weight: 400;font-size: 12px;line-height: 150%;">
224
- <p>
225
- If you have any questions or need assistance, please reach out to us at
226
- support@tangotech.co.in.
227
- </p>
228
- </div>
229
- </td>
230
- </tr>
231
- <tr>
232
- <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
233
- style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom:15px">
234
- <div class="o_col-6s o_sans o_text-md o_text-light o_center"
235
- style="margin-top: 0px;margin-bottom: 0px;font-size: 12px;color: #202B3C;font-style: normal;font-weight: 400;font-size: 12px;line-height: 150%;">
236
- <p>
237
- © Tango Eye. All rights reserved.</p>
238
- </div>
239
- </td>
240
- </tr>
241
- </table>
242
- </td>
243
- </tr>
244
-
245
- </table>
246
-
247
- </body>
248
-
1
+ <!DOCTYPE html>
2
+ <html>
3
+
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
8
+ <title>Trial Intiate Email</title>
9
+ <meta name="viewport" content="width=device-width, initial-scale=1">
10
+ <style type="text/css">
11
+ @media screen {
12
+ @font-face {
13
+ font-family: 'Inter';
14
+ font-style: normal;
15
+ font-weight: 400;
16
+ font-display: swap;
17
+ src: local("Inter"), local("Inter-Regular"), url(https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfAZJhiI2B.woff2) format('woff2');
18
+ unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
19
+ }
20
+ }
21
+
22
+ body {
23
+ font-family: "Inter", sans-serif !important;
24
+ }
25
+
26
+ body,
27
+ table,
28
+ td,
29
+ a {
30
+ -ms-text-size-adjust: 100%;
31
+ -webkit-text-size-adjust: 100%;
32
+ }
33
+
34
+ table,
35
+ td {
36
+ mso-table-rspace: 0pt;
37
+ mso-table-lspace: 0pt;
38
+ }
39
+
40
+ img {
41
+ -ms-interpolation-mode: bicubic;
42
+ }
43
+
44
+ a[x-apple-data-detectors] {
45
+ font-family: "inherit" !important;
46
+ font-size: inherit !important;
47
+ font-weight: inherit !important;
48
+ line-height: inherit !important;
49
+ color: inherit !important;
50
+ text-decoration: none !important;
51
+ }
52
+
53
+
54
+ div[style*="margin: 16px 0;"
55
+
56
+ ] {
57
+ margin: 0 !important;
58
+ }
59
+
60
+ body {
61
+ width: 100% !important;
62
+ height: 100% !important;
63
+ padding: 0 !important;
64
+ margin: 0 !important;
65
+ }
66
+
67
+
68
+ table {
69
+ border-collapse: collapse !important;
70
+ }
71
+
72
+ a {
73
+ color: #1a82e2;
74
+ }
75
+
76
+ img {
77
+ height: auto;
78
+ line-height: 100%;
79
+ text-decoration: none;
80
+ border: 0;
81
+ outline: none;
82
+ }
83
+
84
+ .flagText {
85
+ /* font-family: 'Inter'; */
86
+ /* color: #667085 !important; */
87
+ font-size: 16px;
88
+ font-weight: 600;
89
+ line-height: 24px;
90
+ text-align: left;
91
+
92
+ }
93
+ </style>
94
+
95
+ </head>
96
+
97
+ <body style="background-color: #dbe5ea;">
98
+
99
+ <div class="preheader"
100
+ style="display: none; max-width: 0; max-height: 0; overflow: hidden; font-size: 1px; line-height: 1px; color: #fff; opacity: 0;">
101
+ Email Summary (Hidden)
102
+ </div>
103
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" style="padding-left:10px;padding-right:10px">
104
+ <tr>
105
+ <td bgcolor="#dbe5ea" style="padding:32px 10px 0 10px">
106
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;" align="center">
107
+ <tr>
108
+ <td class="o_bg-white o_px-md o_py-md o_sans o_text"
109
+ style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 24px;background-color: #ffffff;padding-left: 18px;padding-right: 24px;padding-top: 24px;padding-bottom: 24px;">
110
+ <p style="margin-top: 0px;margin-bottom: 0px;"><a class="o_text-white"
111
+ href="https://tangoeye.ai/"
112
+ style="text-decoration: none;outline: none;color: #ffffff;"><img
113
+ src="https://devtangoretail-api.tangoeye.ai/logo.png" width="200" height="100"
114
+ alt="SimpleApp"
115
+ style="-ms-interpolation-mode: bicubic;vertical-align: middle;border: 0;line-height: 100%;height: auto;outline: none;text-decoration: none;"></a>
116
+ </p>
117
+ </td>
118
+ </tr>
119
+ <tr>
120
+ <td align="left" bgcolor="#ffffff"
121
+ style="padding-left: 30px;padding-right: 24px; font-size: 14px; line-height: 24px;">
122
+ <p class="o_heading o_mb-xxs"
123
+ style="width: 624px;height: 0px;border: 1px solid #CBD5E1;flex: none;order: 1;flex-grow: 0;">
124
+ </p>
125
+ </td>
126
+ </tr>
127
+ <tr>
128
+ <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
129
+ style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
130
+ <div class="o_col-6s o_sans o_text-md o_text-light o_center"
131
+ style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 28px;color: #82899a;">
132
+ <span class="o_heading o_text-dark o_mb-xxs"
133
+ style="font-weight: 400;margin-top: 0px;margin-bottom: 4px;color: #121A26;line-height: 140%;">
134
+ Hi,<br />
135
+ Flag has been detected based on the response submitted in a recently completed
136
+ checklist for Store {{data.storeName}}. Review
137
+ the flagged item and take the necessary action from the dashboard.
138
+ </span>
139
+ </div>
140
+ </td>
141
+ </tr>
142
+ <tr>
143
+ <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
144
+ style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
145
+ <div class="o_col-6s o_sans o_text-md o_text-light o_center"
146
+ style="margin-top: 0px;margin-bottom: 0px;font-size: 16px;line-height: 28px;color: #82899a;">
147
+ <span class="o_heading o_text-dark o_mb-xxs"
148
+ style="font-weight: 400;margin-top: 0px;margin-bottom: 4px;color: #121A26;line-height: 140%;">
149
+ Details of the checklist are as follows:
150
+ </span>
151
+ </div>
152
+ </td>
153
+ </tr>
154
+ </table>
155
+ </td>
156
+ </tr>
157
+ <tr>
158
+ <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 0 10px">
159
+ <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="100%"
160
+ style="max-width: 680px;">
161
+ <tr bgcolor="#ffffff" style="border:none;margin-top:0px;">
162
+ <td class="flagText" style="padding-left:30px; line-height: 24px;color:#000000">Store Name :
163
+ </td>
164
+ <td></td>
165
+ <td></td>
166
+ <td class="flagText">{{data.storeName}}</td>
167
+ </tr>
168
+ <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
169
+ <td class="flagText" style="padding-left:30px; line-height: 24px;">Checklist Name :</td>
170
+ <td></td>
171
+ <td></td>
172
+ <td class="flagText">{{data.checklistName}}</td>
173
+ </tr>
174
+
175
+ <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
176
+ <td class="flagText" style="padding-left:30px; line-height: 24px;">No of Flags :</td>
177
+ <td></td>
178
+ <td></td>
179
+ <td class="flagText">{{data.flagCount}}</td>
180
+ </tr>
181
+ <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
182
+ <td class="flagText" style="padding-left:30px; line-height: 24px;">Submitted By :</td>
183
+ <td></td>
184
+ <td></td>
185
+ <td class="flagText">{{data.submittedBy}}</td>
186
+ </tr>
187
+ <tr bgcolor="#ffffff" style="border:none;margin-top:3px;">
188
+ <td class="flagText" style="padding-left:30px; line-height: 24px;">Date & Time :</td>
189
+ <td></td>
190
+ <td></td>
191
+ <td class="flagText">{{data.time}}</td>
192
+ </tr>
193
+ </table>
194
+ </td>
195
+ </tr>
196
+ <tr>
197
+ <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 0 10px">
198
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;">
199
+ <tr>
200
+ <td bgcolor="#ffffff" style="padding: 20px;padding-top:15px;padding-left:30px;">
201
+ <table border="0" cellpadding="0" cellspacing="0">
202
+ <tr>
203
+ <td align="center" bgcolor="#00A3FF" style="border-radius: 6px;height:50px;">
204
+ <a href="{{data.domain}}" target="_blank"
205
+ style="display: inline-block; padding: 16px 36px; font-size: 16px; color: #ffffff; text-decoration: none; border-radius: 6px;">View
206
+ Flags
207
+ </a>
208
+ </td>
209
+ </tr>
210
+ </table>
211
+ </td>
212
+ </tr>
213
+ </table>
214
+ </td>
215
+ </tr>
216
+ <tr>
217
+ <td align="center" bgcolor="#dbe5ea" style="padding:0 10px 32px 10px;">
218
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 680px;">
219
+ <tr>
220
+ <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
221
+ style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-top:5px">
222
+ <div class="o_col-6s o_sans o_text-md o_text-light o_center"
223
+ style="margin-top: 0px;margin-bottom: 0px;font-size: 12px;color: #202B3C;font-style: normal;font-weight: 400;font-size: 12px;line-height: 150%;">
224
+ <p>
225
+ If you have any questions or need assistance, please reach out to us at
226
+ support@tangotech.co.in.
227
+ </p>
228
+ </div>
229
+ </td>
230
+ </tr>
231
+ <tr>
232
+ <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
233
+ style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom:15px">
234
+ <div class="o_col-6s o_sans o_text-md o_text-light o_center"
235
+ style="margin-top: 0px;margin-bottom: 0px;font-size: 12px;color: #202B3C;font-style: normal;font-weight: 400;font-size: 12px;line-height: 150%;">
236
+ <p>
237
+ © Tango Eye. All rights reserved.</p>
238
+ </div>
239
+ </td>
240
+ </tr>
241
+ </table>
242
+ </td>
243
+ </tr>
244
+
245
+ </table>
246
+
247
+ </body>
248
+
249
249
  </html>