Table des matières

Sprint 16 — Mobile, PWA & Expérience Terrain

Objectif du Sprint

Permettre aux équipes terrain, propriétaires et clients d'utiliser la plateforme depuis un smartphone ou une tablette, y compris dans des zones à faible connectivité.

À l'issue du Sprint 16 :

Ce sprint transforme la plateforme en outil opérationnel de terrain.


Périmètre

Modules concernés

MobileModule

PWAModule

OfflineModule

CheckInModule

CheckOutModule

FieldOperationsModule

InspectionModule

Architecture Mobile

Stack cible

NextJS PWA

↓

Service Worker

↓

IndexedDB

↓

API NestJS

↓

Synchronisation

Fonctionnement

Utilisateur

↓

Travail hors ligne

↓

Stockage local

↓

Retour réseau

↓

Synchronisation automatique

User Stories

US-1601 : Installer la PWA

En tant qu'utilisateur

Je souhaite installer l'application sur mon mobile

Afin d'y accéder rapidement.


Compatibilité

Android

iOS

Windows

macOS

Fonctionnalités

Installation écran accueil

Icône personnalisée

Splash Screen

Notifications Push

US-1602 : Utiliser l'application hors ligne

Fonctionnalités disponibles

Check-in

Check-out

États des lieux

Photos

Commentaires

Stockage

IndexedDB

Check-In

US-1603 : Réaliser un check-in

Endpoint

POST /checkins

Données

Réservation

Date

Agent

Commentaires

Workflow

Arrivée client

↓

Contrôle logement

↓

Signature

↓

Validation

US-1604 : Vérifier les informations client

Informations

Identité

Réservation

Voyageurs

Documents

État des lieux

US-1605 : Créer un état des lieux

Endpoint

POST /inspections

Pièces

Entrée

Salon

Cuisine

Salle de bain

Chambres

Extérieur

Contrôles

Propreté

Équipements

Dégradations

Observations

US-1606 : Ajouter des photos

Fonctionnalités

Capture photo

Compression

Géolocalisation

Horodatage

Formats

JPEG

PNG

WEBP

US-1607 : Annoter une photo

Informations

Commentaire

Zone concernée

Niveau gravité

Signature mobile

US-1608 : Signer l'état des lieux

Signataires

Client

Agent

Endpoint

POST /inspections/{id}/sign

Résultat

PDF signé

Archivage

Check-Out

US-1609 : Réaliser un check-out

Endpoint

POST /checkouts

Contrôles

État logement

Clés

Équipements

Consommations

US-1610 : Déclarer des dommages

Informations

Description

Photos

Montant estimé

Responsable

Synchronisation

US-1611 : Synchroniser les données

Déclencheurs

Retour connexion

Synchronisation manuelle

Planification

Données synchronisées

Photos

États des lieux

Signatures

Commentaires

US-1612 : Gérer les conflits

Cas

Modification locale

+

Modification serveur

Stratégie

Last Write Wins

ou

Validation manuelle

Notifications Push

US-1613 : Recevoir une notification

Événements

Arrivée client

Départ client

Nouvelle mission

Retard paiement

Contrat signé

Missions Terrain

US-1614 : Consulter ses missions

Endpoint

GET /field-operations/tasks

Types

Check-in

Check-out

Ménage

Maintenance

Inspection

US-1615 : Clôturer une mission

Workflow

Mission

↓

Intervention

↓

Photos

↓

Validation

↓

Clôture

Modèle Prisma

CheckIn

model CheckIn {
 
  id                String @id @default(uuid())
 
  reservationId     String
 
  agentId           String
 
  checkedInAt       DateTime
 
  notes             String?
}

CheckOut

model CheckOut {
 
  id                String @id @default(uuid())
 
  reservationId     String
 
  agentId           String
 
  checkedOutAt      DateTime
 
  notes             String?
}

Inspection

model Inspection {
 
  id                String @id @default(uuid())
 
  reservationId     String
 
  inspectionType    String
 
  status            String
 
  createdAt         DateTime
}

InspectionPhoto

model InspectionPhoto {
 
  id                String @id @default(uuid())
 
  inspectionId      String
 
  filePath          String
 
  comment           String?
}

FieldTask

model FieldTask {
 
  id                String @id @default(uuid())
 
  assignedToId      String
 
  taskType          String
 
  status            String
 
  dueDate           DateTime
}

Architecture Backend

src/modules/mobile

├── checkins
│
├── checkouts
│
├── inspections
│
├── field-operations
│
├── offline-sync
│
└── push-notifications

Architecture Frontend

apps/web

├── app/mobile
│
├── app/checkin
│
├── app/checkout
│
├── app/inspections
│
├── app/tasks
│
└── app/offline

Capacités Offline

Cache local

Biens

Réservations

Clients

Missions

Checklists

Synchronisation

Background Sync

Service Worker

Queue Offline

Événements métier

CheckInCompleted

CheckInCompleted

InspectionSigned

InspectionSigned

OfflineSyncCompleted

OfflineSyncCompleted

Swagger

Tags

CheckIns

CheckOuts

Inspections

FieldOperations

Mobile

Volume API

Environ :

30 endpoints

Frontend

Pages

/mobile

/mobile/tasks

/mobile/checkin

/mobile/checkout

/mobile/inspections

/mobile/offline

Composants

CheckInWizard

CheckOutWizard

InspectionForm

PhotoUploader

SignaturePad

OfflineSyncIndicator

Tests

Unitaires

CheckInService

CheckOutService

InspectionService

OfflineSyncService

Intégration

Mode Offline

↓

Création Inspection

↓

Retour réseau

↓

Synchronisation

E2E

Mission terrain

↓

Check-in

↓

Photos

↓

Signature

↓

Mode hors ligne

↓

Synchronisation

↓

Archivage

Définition de terminé

Le Sprint 16 est terminé lorsque :


Livrables


Bilan Release 3.2

À l'issue du Sprint 16 :

La plateforme couvre désormais l'ensemble des opérations de terrain nécessaires à une activité de location professionnelle.


Sprint suivant

Sprint 17 — Revenue Management & Optimisation Tarifaire

Objectif :

Maximiser les revenus locatifs grâce à des mécanismes avancés de tarification dynamique.

Modules concernés :

RevenueManagementModule

DynamicPricingModule

YieldManagementModule

CompetitorAnalysisModule

PricingRulesModule

Fonctionnalités :

À l'issue du Sprint 17, la plateforme disposera d'un moteur avancé d'optimisation des revenus.

DokuWiki Appliance - Powered by TurnKey Linux