Método para agendar a notificação

    CustomNotification notification,
    DateTime scheduledDate,
  ) async {
    // Verifica se payload é nulo antes de prosseguir
    if (notification.payload == null) return;

    // Detalhes da notificação para Android
    const AndroidNotificationDetails androidDetails =
        AndroidNotificationDetails(
      'unyclubNotification2',
      'Unyclub2',
      channelDescription: "Este canal é para todas as notificações do unyclub",
      importance: Importance.max,
      priority: Priority.max,
      enableVibration: true,
    );

    print('before zonedSchedule');
    print('tz: ${tz.local}');
    // Agendando a notificação
    flutterLocalNotificationsPlugin.zonedSchedule(
      notification.id,
      notification.title,
      notification.body,
      tz.TZDateTime.now(tz.local).add(const Duration(seconds: 10)),
      const NotificationDetails(android: androidDetails),
      androidScheduleMode: AndroidScheduleMode.exactAllowWhileIdle,
      payload: notification.payload,
      uiLocalNotificationDateInterpretation:
          UILocalNotificationDateInterpretation.absoluteTime,
    );

    print('after zonedSchedule: $scheduledDate');
  }

Chamada do método de agendamento da reunião:

    //? Carregando as reuniões
    MeetingsController controller = MeetingsController(context: context);
    List<Meetings> meetingsList = [];
    await controller.loadMeetings("1").then((value) {
      setState(() {
        meetingsList = controller.getMeetingsList;
      });
    });

    //? Pegando a data da ultima reunião
    Meetings meeting = meetingsList[0];
    DateTime notificationDate = DateFormat("dd/MM/yyyy")
        .parse(meeting.dtMeeting!)
        .subtract(const Duration(hours: 12));

    //? Agendando a Notificação
    NotificationService notificationService = NotificationService();
    DateTime time = DateTime.now().add(const Duration(seconds: 20));
    print("@@@@@@@@@@@@@@@@ $time @@@@@@@@@@@@@@@@@@@");
    /*
    notificationService.showNotification(
      CustomNotification(
        id: int.parse(meeting.id!),
        title: meeting.topic!,
        body: "A começa",
        payload: jsonEncode({"route": AppRoutes.meetingsScreen}),
      ),
    );
    */
    notificationService.scheduleNotification(
      CustomNotification(
        id: int.parse(meeting.id!),
        title: meeting.topic!,
        body: "A reunião começa",
        payload: jsonEncode({"route": AppRoutes.meetingsScreen}),
      ),
      time,
    );
  }

essa manipulação na data no método scheduleMeetingsNotifications não está sendo utilizado no momento já que ainda estava tentando fazer a notificação aparecer após 10 segundos, mas posteriormente iriam ser agendadas as notificaçõs 12 horas antes das reuniões e seria criado no LocalStorage um id da reunião e a data para que eu não agende a mesma notificação mais que uma vez já que esse método é chamado no initState da minha tela de reuniões (solicitação do cliente )