Skip to Content
Nouvelle documentation Applite - JS SDK, Dart SDK & REST API

Rendez-vous (Dart)

Le module MultiServiceAppointmentModule permet de gérer les rendez-vous clients.

Accès : applite.app.multiService.appointment

Méthodes

list

final response = await applite.app.multiService.appointment.list( ListAppointmentsParams(apiKey: 'api_key', appId: 'app_id'), ); for (final apt in response.data) { print('${apt.serviceName} - ${apt.status} - ${apt.date}'); }

create

final response = await applite.app.multiService.appointment.create( CreateAppointmentParams( apiKey: 'api_key', appId: 'app_id', serviceId: 'service_id', date: '2024-01-25T14:00:00Z', totalPrice: 1500, agentId: 'agent_id', customerId: 'customer_id', filledFields: { 'notes': 'Première visite', }, commune: 'Cocody', ), );

updateStatus

// Confirmer le rendez-vous await applite.app.multiService.appointment.updateStatus( UpdateAppointmentStatusParams( apiKey: 'api_key', appId: 'app_id', id: 'appointment_id', status: AppointmentStatus.confirmed, ), ); // Démarrer le service await applite.app.multiService.appointment.updateStatus( UpdateAppointmentStatusParams( apiKey: 'api_key', appId: 'app_id', id: 'appointment_id', status: AppointmentStatus.inProgress, ), ); // Terminer le service await applite.app.multiService.appointment.updateStatus( UpdateAppointmentStatusParams( apiKey: 'api_key', appId: 'app_id', id: 'appointment_id', status: AppointmentStatus.completed, ), );

Types

AppointmentStatus

enum AppointmentStatus { pending, // En attente de confirmation confirmed, // Confirmé inProgress, // En cours completed, // Terminé cancelled, // Annulé }

Workflow des statuts

pending → confirmed → inProgress → completed ↓ ↓ ↓ └─────────┴───────────┴──→ cancelled

Un rendez-vous completed ou cancelled ne peut plus être modifié.

Exemple complet

// Workflow complet de rendez-vous try { // 1. Créer le rendez-vous final appointment = await applite.app.multiService.appointment.create( CreateAppointmentParams( apiKey: 'api_key', appId: 'app_id', serviceId: 'service_id', customerId: 'customer_id', date: DateTime.now().add(Duration(days: 1)).toIso8601String(), totalPrice: 1500, commune: 'Cocody', filledFields: {}, ), ); print('RDV créé: ${appointment.data.id}'); // 2. Confirmer await applite.app.multiService.appointment.updateStatus( UpdateAppointmentStatusParams( apiKey: 'api_key', appId: 'app_id', id: appointment.data.id, status: AppointmentStatus.confirmed, ), ); print('RDV confirmé'); // 3. Démarrer await applite.app.multiService.appointment.updateStatus( UpdateAppointmentStatusParams( apiKey: 'api_key', appId: 'app_id', id: appointment.data.id, status: AppointmentStatus.inProgress, ), ); print('Service en cours'); // 4. Terminer await applite.app.multiService.appointment.updateStatus( UpdateAppointmentStatusParams( apiKey: 'api_key', appId: 'app_id', id: appointment.data.id, status: AppointmentStatus.completed, ), ); print('Service terminé'); } on ApiException catch (e) { print('Erreur: ${e.message}'); }
Last updated on