diff --git a/src/payments/card-to-card-deposit.service.ts b/src/payments/card-to-card-deposit.service.ts index bfc6b76..6c0efd3 100644 --- a/src/payments/card-to-card-deposit.service.ts +++ b/src/payments/card-to-card-deposit.service.ts @@ -19,6 +19,7 @@ import { ReserveStatus } from '../reserves/enums/reserve-status.enum'; import { ReservesService } from '../reserves/reserves.service'; import { calculateSmsParts } from '../sms/helpers/sms-segment.helper'; import { SmsService } from '../sms/sms.service'; +import { ReserveSmsService } from '../sms-settings/reserve-sms.service'; import { SmsDispatchService } from '../sms-settings/sms-dispatch.service'; import { SmsScenarioKey } from '../sms-settings/enums/sms-scenario-key.enum'; import { buildReserveSmsVariables } from '../sms-settings/utils/build-reserve-sms-variables.util'; @@ -49,6 +50,7 @@ export class CardToCardDepositService { private readonly authorizationService: AuthorizationService, private readonly salonFinancialSettingsService: SalonFinancialSettingsService, private readonly uploaderService: UploaderService, + private readonly reserveSmsService: ReserveSmsService, private readonly smsDispatchService: SmsDispatchService, private readonly smsService: SmsService, private readonly shortLinksService: ShortLinksService, @@ -146,6 +148,10 @@ export class CardToCardDepositService { const variables = buildReserveSmsVariables(reserve); const mobile = reserve.customer?.user?.mobile; if (mobile) { + if (!existingPending) { + await this.reserveSmsService.sendReserveCreated(reserve.id); + } + await this.sendDepositSms( SmsScenarioKey.DEPOSIT_PAYMENT_REQUEST, mobile, diff --git a/src/reserves/reserves.service.ts b/src/reserves/reserves.service.ts index 5850846..b818d05 100644 --- a/src/reserves/reserves.service.ts +++ b/src/reserves/reserves.service.ts @@ -104,7 +104,11 @@ export class ReservesService { const saved = await this.reservesRepository.save(reserve); await this.customersService.linkToSalon(saved.salonId, saved.customerId); await this.logStatusChange(saved.id, null, saved.status, user.id); - await this.reserveSmsService.sendReserveCreated(saved.id); + // When a deposit is required, the reserve-created SMS is sent from the + // deposit request flow so it always arrives before the payment link SMS. + if (saved.depositAmount <= 0) { + await this.reserveSmsService.sendReserveCreated(saved.id); + } await this.salonNotificationsService.notifyReserveCreated(saved.id); return this.findOne(saved.id, user); }