@@ -206,6 +206,160 @@ table[class=body] .article {
206
206
. catch ( err => log . error ( { err, guestEmail, confirmation} , 'Receipt email failed to send' ) ) ;
207
207
}
208
208
209
+ export function sendUpgradeReceipt ( customerFirstName : string , customerLastName : string , customerEmail : string , confirmation : string , orderId : string , amount : number ) {
210
+ mailgun . messages ( ) . send ( {
211
+ from : 'Mustache Bash Tickets <contact@mustachebash.com>' ,
212
+ to : customerFirstName + ' ' + customerLastName + ' <' + customerEmail + '> ' ,
213
+ subject : 'Your VIP Upgrade Confirmation For San Diego Mustache Bash 2024' ,
214
+ html : `
215
+ <!doctype html>
216
+ <html>
217
+ <head>
218
+ <meta name="viewport" content="width=device-width">
219
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
220
+ <title>The Mustache Bash SD 2024 Confirmation</title>
221
+ <style>
222
+ @media only screen and (max-width: 620px) {
223
+ table[class=body] h1 {
224
+ font-size: 28px !important;
225
+ margin-bottom: 10px !important;
226
+ }
227
+
228
+ table[class=body] p,
229
+ table[class=body] ul,
230
+ table[class=body] ol,
231
+ table[class=body] td,
232
+ table[class=body] span,
233
+ table[class=body] a {
234
+ font-size: 16px !important;
235
+ }
236
+
237
+ table[class=body] .wrapper,
238
+ table[class=body] .article {
239
+ padding: 10px !important;
240
+ }
241
+
242
+ table[class=body] .content {
243
+ padding: 0 !important;
244
+ }
245
+
246
+ table[class=body] .container {
247
+ padding: 0 !important;
248
+ width: 100% !important;
249
+ }
250
+
251
+ table[class=body] .main {
252
+ border-left-width: 0 !important;
253
+ border-radius: 0 !important;
254
+ border-right-width: 0 !important;
255
+ }
256
+
257
+ table[class=body] .btn table {
258
+ width: 100% !important;
259
+ }
260
+
261
+ table[class=body] .btn a {
262
+ width: 100% !important;
263
+ }
264
+
265
+ table[class=body] .img-responsive {
266
+ height: auto !important;
267
+ max-width: 100% !important;
268
+ width: auto !important;
269
+ }
270
+ }
271
+ @media all {
272
+ .ExternalClass {
273
+ width: 100%;
274
+ }
275
+
276
+ .ExternalClass,
277
+ .ExternalClass p,
278
+ .ExternalClass span,
279
+ .ExternalClass font,
280
+ .ExternalClass td,
281
+ .ExternalClass div {
282
+ line-height: 100%;
283
+ }
284
+ }
285
+ </style>
286
+ </head>
287
+ <body class="" style="background-color: #f6f6f6; font-family: sans-serif; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.4; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
288
+ <table role="presentation" border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #f6f6f6; width: 100%;" width="100%" bgcolor="#f6f6f6">
289
+ <tr>
290
+ <td style="font-family: sans-serif; font-size: 14px; vertical-align: top;" valign="top"> </td>
291
+ <td class="container" style="font-family: sans-serif; font-size: 14px; vertical-align: top; display: block; max-width: 580px; padding: 10px; width: 580px; margin: 0 auto;" width="580" valign="top">
292
+ <div class="content" style="box-sizing: border-box; display: block; margin: 0 auto; max-width: 580px; padding: 10px;">
293
+
294
+ <!-- START CENTERED WHITE CONTAINER -->
295
+ <span class="preheader" style="color: transparent; display: none; height: 0; max-height: 0; max-width: 0; opacity: 0; overflow: hidden; mso-hide: all; visibility: hidden; width: 0;">The Mustache Bash San Diego - Tickets and Confirmation #${ confirmation } . Thanks for ordering a Bash Pass!</span>
296
+ <table role="presentation" class="main" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; background: #ffffff; border-radius: 3px; width: 100%;" width="100%">
297
+
298
+ <!-- START MAIN CONTENT AREA -->
299
+ <tr>
300
+ <td class="wrapper" style="font-family: sans-serif; font-size: 14px; vertical-align: top; box-sizing: border-box; padding: 20px;" valign="top">
301
+ <table role="presentation" border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;" width="100%">
302
+ <tr>
303
+ <td class="align-center" style="font-family: sans-serif; font-size: 14px; vertical-align: top; text-align: center;" valign="top" align="center">
304
+ <img src="https://static.mustachebash.com/img/fro-man.png" alt="The Mustache Bash" style="border: none; -ms-interpolation-mode: bicubic; max-width: 100%;">
305
+ </td>
306
+ </tr>
307
+ <tr>
308
+ <td class="align-center" style="font-family: sans-serif; font-size: 14px; vertical-align: top; text-align: center;" valign="top" align="center">
309
+
310
+ </td>
311
+ </tr>
312
+ <tr>
313
+ <td style="font-family: sans-serif; font-size: 14px; vertical-align: top;" valign="top">
314
+ <p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; margin-bottom: 15px;">Hi ${ customerFirstName } ! Thanks for upgrading your Bash Pass. See details below!</p>
315
+ <p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; margin-bottom: 15px;">
316
+ <strong>Confirmation Number:</strong> ${ confirmation } <br>
317
+ <strong>Order Number:</strong> ${ orderId . slice ( 0 , 8 ) } <br>
318
+ <strong>Total:</strong> $${ amount }
319
+ </p>
320
+
321
+ <p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; margin-bottom: 15px;">We're thrilled you're coming to the 2024 SD Mustache Bash in VIP style! Use the ticket link in your original order to access your newly upgraded tickets.</p>
322
+ <p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; margin-bottom: 15px;">Check out our <a href="https://mustachebash.com/info?utm_source=confirmation-email">FAQ page</a> for more info, and reply here or email us at <a href="mailto:contact@mustachebash.com">contact@mustachebash.com</a> if you have questions about your purchase.</p>
323
+ <p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; margin-bottom: 15px;">Thanks again, we can’t wait to boogie with you.</p>
324
+ <p style="font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; margin-bottom: 15px;">
325
+ Stay Funky,<br>
326
+ Team Mustache Bash
327
+ </p>
328
+ </td>
329
+ </tr>
330
+ </table>
331
+ </td>
332
+ </tr>
333
+
334
+ <!-- END MAIN CONTENT AREA -->
335
+ </table>
336
+
337
+ <!-- START FOOTER -->
338
+ <div class="footer" style="clear: both; margin-top: 10px; text-align: center; width: 100%;">
339
+ <table role="presentation" border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;" width="100%">
340
+ <tr>
341
+ <td class="content-block" style="font-family: sans-serif; vertical-align: top; padding-bottom: 10px; padding-top: 10px; color: #999999; font-size: 12px; text-align: center;" valign="top" align="center">
342
+ <span style="color: #999999; font-size: 12px; text-align: center;"><a href="https://mustachebash.com">The Mustache Bash</a></span>
343
+ </td>
344
+ </tr>
345
+ </table>
346
+ </div>
347
+ <!-- END FOOTER -->
348
+
349
+ <!-- END CENTERED WHITE CONTAINER -->
350
+ </div>
351
+ </td>
352
+ <td style="font-family: sans-serif; font-size: 14px; vertical-align: top;" valign="top"> </td>
353
+ </tr>
354
+ </table>
355
+ </body>
356
+ </html>
357
+ `
358
+ } )
359
+ . then ( mailgunResponse => log . info ( { mailgunResponse, customerEmail, confirmation} , 'Receipt email sent' ) )
360
+ . catch ( err => log . error ( { err, customerEmail, confirmation} , 'Receipt email failed to send' ) ) ;
361
+ }
362
+
209
363
export function sendTransfereeConfirmation ( transfereeFirstName , transfereeLastName , transfereeEmail , parentOrderId , orderToken ) {
210
364
mailgun . messages ( ) . send ( {
211
365
from : 'Mustache Bash Tickets <contact@mustachebash.com>' ,
0 commit comments