CL$WS Host : D5239-staging-cl

<back to all web services

cl_tournee_realtimeRequest

The following routes are available for this service:
GET, POST/cl_tournee_realtime/{id_operateur}/{id_tournee}
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class _alerte_tournee_ligne implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $id_evenement=null,
        /** @var string|null */
        public ?string $date=null,
        /** @var string|null */
        public ?string $num_facture=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['id_evenement'])) $this->id_evenement = $o['id_evenement'];
        if (isset($o['date'])) $this->date = $o['date'];
        if (isset($o['num_facture'])) $this->num_facture = $o['num_facture'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->id_evenement)) $o['id_evenement'] = $this->id_evenement;
        if (isset($this->date)) $o['date'] = $this->date;
        if (isset($this->num_facture)) $o['num_facture'] = $this->num_facture;
        return empty($o) ? new class(){} : $o;
    }
}

class _alerte_tournee implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $id_evenement=null,
        /** @var string|null */
        public ?string $date=null,
        /** @var float */
        public float $latitude=0.0,
        /** @var float */
        public float $longitude=0.0,
        /** @var float */
        public float $duree=0.0,
        /** @var array<_alerte_tournee_ligne>|null */
        public ?array $factures_non_livrees=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['id_evenement'])) $this->id_evenement = $o['id_evenement'];
        if (isset($o['date'])) $this->date = $o['date'];
        if (isset($o['latitude'])) $this->latitude = $o['latitude'];
        if (isset($o['longitude'])) $this->longitude = $o['longitude'];
        if (isset($o['duree'])) $this->duree = $o['duree'];
        if (isset($o['factures_non_livrees'])) $this->factures_non_livrees = JsonConverters::fromArray('_alerte_tournee_ligne', $o['factures_non_livrees']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->id_evenement)) $o['id_evenement'] = $this->id_evenement;
        if (isset($this->date)) $o['date'] = $this->date;
        if (isset($this->latitude)) $o['latitude'] = $this->latitude;
        if (isset($this->longitude)) $o['longitude'] = $this->longitude;
        if (isset($this->duree)) $o['duree'] = $this->duree;
        if (isset($this->factures_non_livrees)) $o['factures_non_livrees'] = JsonConverters::toArray('_alerte_tournee_ligne', $this->factures_non_livrees);
        return empty($o) ? new class(){} : $o;
    }
}

class _incident_livraison_ligne implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $num_facture=null,
        /** @var string|null */
        public ?string $id_incident=null,
        /** @var string|null */
        public ?string $date=null,
        /** @var string|null */
        public ?string $line_id=null,
        /** @var string|null */
        public ?string $article_id=null,
        /** @var string|null */
        public ?string $quantite=null,
        /** @var string|null */
        public ?string $qte_uv=null,
        /** @var string|null */
        public ?string $qte_uc=null,
        /** @var string|null */
        public ?string $cdt_uc=null,
        /** @var float|null */
        public ?float $_qte_uv=null,
        /** @var float|null */
        public ?float $_qte_uc=null,
        /** @var float|null */
        public ?float $_cdt_uc=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['num_facture'])) $this->num_facture = $o['num_facture'];
        if (isset($o['id_incident'])) $this->id_incident = $o['id_incident'];
        if (isset($o['date'])) $this->date = $o['date'];
        if (isset($o['line_id'])) $this->line_id = $o['line_id'];
        if (isset($o['article_id'])) $this->article_id = $o['article_id'];
        if (isset($o['quantite'])) $this->quantite = $o['quantite'];
        if (isset($o['qte_uv'])) $this->qte_uv = $o['qte_uv'];
        if (isset($o['qte_uc'])) $this->qte_uc = $o['qte_uc'];
        if (isset($o['cdt_uc'])) $this->cdt_uc = $o['cdt_uc'];
        if (isset($o['_qte_uv'])) $this->_qte_uv = $o['_qte_uv'];
        if (isset($o['_qte_uc'])) $this->_qte_uc = $o['_qte_uc'];
        if (isset($o['_cdt_uc'])) $this->_cdt_uc = $o['_cdt_uc'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->num_facture)) $o['num_facture'] = $this->num_facture;
        if (isset($this->id_incident)) $o['id_incident'] = $this->id_incident;
        if (isset($this->date)) $o['date'] = $this->date;
        if (isset($this->line_id)) $o['line_id'] = $this->line_id;
        if (isset($this->article_id)) $o['article_id'] = $this->article_id;
        if (isset($this->quantite)) $o['quantite'] = $this->quantite;
        if (isset($this->qte_uv)) $o['qte_uv'] = $this->qte_uv;
        if (isset($this->qte_uc)) $o['qte_uc'] = $this->qte_uc;
        if (isset($this->cdt_uc)) $o['cdt_uc'] = $this->cdt_uc;
        if (isset($this->_qte_uv)) $o['_qte_uv'] = $this->_qte_uv;
        if (isset($this->_qte_uc)) $o['_qte_uc'] = $this->_qte_uc;
        if (isset($this->_cdt_uc)) $o['_cdt_uc'] = $this->_cdt_uc;
        return empty($o) ? new class(){} : $o;
    }
}

class _incident_livraison implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $num_facture=null,
        /** @var string|null */
        public ?string $id_incident=null,
        /** @var string|null */
        public ?string $date=null,
        /** @var float */
        public float $latitude=0.0,
        /** @var float */
        public float $longitude=0.0,
        /** @var string|null */
        public ?string $commentaire=null,
        /** @var string|null */
        public ?string $photo=null,
        /** @var array<_incident_livraison_ligne>|null */
        public ?array $lignes=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['num_facture'])) $this->num_facture = $o['num_facture'];
        if (isset($o['id_incident'])) $this->id_incident = $o['id_incident'];
        if (isset($o['date'])) $this->date = $o['date'];
        if (isset($o['latitude'])) $this->latitude = $o['latitude'];
        if (isset($o['longitude'])) $this->longitude = $o['longitude'];
        if (isset($o['commentaire'])) $this->commentaire = $o['commentaire'];
        if (isset($o['photo'])) $this->photo = $o['photo'];
        if (isset($o['lignes'])) $this->lignes = JsonConverters::fromArray('_incident_livraison_ligne', $o['lignes']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->num_facture)) $o['num_facture'] = $this->num_facture;
        if (isset($this->id_incident)) $o['id_incident'] = $this->id_incident;
        if (isset($this->date)) $o['date'] = $this->date;
        if (isset($this->latitude)) $o['latitude'] = $this->latitude;
        if (isset($this->longitude)) $o['longitude'] = $this->longitude;
        if (isset($this->commentaire)) $o['commentaire'] = $this->commentaire;
        if (isset($this->photo)) $o['photo'] = $this->photo;
        if (isset($this->lignes)) $o['lignes'] = JsonConverters::toArray('_incident_livraison_ligne', $this->lignes);
        return empty($o) ? new class(){} : $o;
    }
}

class _inter_livraison implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $date=null,
        /** @var float */
        public float $latitude=0.0,
        /** @var float */
        public float $longitude=0.0,
        /** @var string|null */
        public ?string $id_client_termine=null,
        /** @var int */
        public int $satisfaction=0,
        /** @var string|null */
        public ?string $id_client_suivant=null,
        /** @var string|null */
        public ?string $signature=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['date'])) $this->date = $o['date'];
        if (isset($o['latitude'])) $this->latitude = $o['latitude'];
        if (isset($o['longitude'])) $this->longitude = $o['longitude'];
        if (isset($o['id_client_termine'])) $this->id_client_termine = $o['id_client_termine'];
        if (isset($o['satisfaction'])) $this->satisfaction = $o['satisfaction'];
        if (isset($o['id_client_suivant'])) $this->id_client_suivant = $o['id_client_suivant'];
        if (isset($o['signature'])) $this->signature = $o['signature'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->date)) $o['date'] = $this->date;
        if (isset($this->latitude)) $o['latitude'] = $this->latitude;
        if (isset($this->longitude)) $o['longitude'] = $this->longitude;
        if (isset($this->id_client_termine)) $o['id_client_termine'] = $this->id_client_termine;
        if (isset($this->satisfaction)) $o['satisfaction'] = $this->satisfaction;
        if (isset($this->id_client_suivant)) $o['id_client_suivant'] = $this->id_client_suivant;
        if (isset($this->signature)) $o['signature'] = $this->signature;
        return empty($o) ? new class(){} : $o;
    }
}

class _messagerie implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $id_message=null,
        /** @var string|null */
        public ?string $date=null,
        /** @var float */
        public float $latitude=0.0,
        /** @var float */
        public float $longitude=0.0,
        /** @var string|null */
        public ?string $message=null,
        /** @var string|null */
        public ?string $photo=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['id_message'])) $this->id_message = $o['id_message'];
        if (isset($o['date'])) $this->date = $o['date'];
        if (isset($o['latitude'])) $this->latitude = $o['latitude'];
        if (isset($o['longitude'])) $this->longitude = $o['longitude'];
        if (isset($o['message'])) $this->message = $o['message'];
        if (isset($o['photo'])) $this->photo = $o['photo'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->id_message)) $o['id_message'] = $this->id_message;
        if (isset($this->date)) $o['date'] = $this->date;
        if (isset($this->latitude)) $o['latitude'] = $this->latitude;
        if (isset($this->longitude)) $o['longitude'] = $this->longitude;
        if (isset($this->message)) $o['message'] = $this->message;
        if (isset($this->photo)) $o['photo'] = $this->photo;
        return empty($o) ? new class(){} : $o;
    }
}

class _info_tournee implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $date=null,
        /** @var float */
        public float $latitude=0.0,
        /** @var float */
        public float $longitude=0.0,
        /** @var int */
        public int $aptitude=0,
        /** @var string|null */
        public ?string $id_fin_tournee=null,
        /** @var string|null */
        public ?string $kilometrage_depart=null,
        /** @var int */
        public int $carburant_correct=0,
        /** @var int */
        public int $ad_blue_allume=0,
        /** @var string|null */
        public ?string $platform=null,
        /** @var string|null */
        public ?string $brand=null,
        /** @var string|null */
        public ?string $model=null,
        /** @var string|null */
        public ?string $release=null,
        /** @var string|null */
        public ?string $sdk=null,
        /** @var string|null */
        public ?string $app_version=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['date'])) $this->date = $o['date'];
        if (isset($o['latitude'])) $this->latitude = $o['latitude'];
        if (isset($o['longitude'])) $this->longitude = $o['longitude'];
        if (isset($o['aptitude'])) $this->aptitude = $o['aptitude'];
        if (isset($o['id_fin_tournee'])) $this->id_fin_tournee = $o['id_fin_tournee'];
        if (isset($o['kilometrage_depart'])) $this->kilometrage_depart = $o['kilometrage_depart'];
        if (isset($o['carburant_correct'])) $this->carburant_correct = $o['carburant_correct'];
        if (isset($o['ad_blue_allume'])) $this->ad_blue_allume = $o['ad_blue_allume'];
        if (isset($o['platform'])) $this->platform = $o['platform'];
        if (isset($o['brand'])) $this->brand = $o['brand'];
        if (isset($o['model'])) $this->model = $o['model'];
        if (isset($o['release'])) $this->release = $o['release'];
        if (isset($o['sdk'])) $this->sdk = $o['sdk'];
        if (isset($o['app_version'])) $this->app_version = $o['app_version'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->date)) $o['date'] = $this->date;
        if (isset($this->latitude)) $o['latitude'] = $this->latitude;
        if (isset($this->longitude)) $o['longitude'] = $this->longitude;
        if (isset($this->aptitude)) $o['aptitude'] = $this->aptitude;
        if (isset($this->id_fin_tournee)) $o['id_fin_tournee'] = $this->id_fin_tournee;
        if (isset($this->kilometrage_depart)) $o['kilometrage_depart'] = $this->kilometrage_depart;
        if (isset($this->carburant_correct)) $o['carburant_correct'] = $this->carburant_correct;
        if (isset($this->ad_blue_allume)) $o['ad_blue_allume'] = $this->ad_blue_allume;
        if (isset($this->platform)) $o['platform'] = $this->platform;
        if (isset($this->brand)) $o['brand'] = $this->brand;
        if (isset($this->model)) $o['model'] = $this->model;
        if (isset($this->release)) $o['release'] = $this->release;
        if (isset($this->sdk)) $o['sdk'] = $this->sdk;
        if (isset($this->app_version)) $o['app_version'] = $this->app_version;
        return empty($o) ? new class(){} : $o;
    }
}

class _multi_photo implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $id_client=null,
        /** @var string|null */
        public ?string $num_facture=null,
        /** @var int */
        public int $type=0,
        /** @var int */
        public int $index=0,
        /** @var string|null */
        public ?string $path=null,
        /** @var string|null */
        public ?string $photo=null,
        /** @var string|null */
        public ?string $photo_light=null,
        /** @var string|null */
        public ?string $date=null,
        /** @var float */
        public float $latitude=0.0,
        /** @var float */
        public float $longitude=0.0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['id_client'])) $this->id_client = $o['id_client'];
        if (isset($o['num_facture'])) $this->num_facture = $o['num_facture'];
        if (isset($o['type'])) $this->type = $o['type'];
        if (isset($o['index'])) $this->index = $o['index'];
        if (isset($o['path'])) $this->path = $o['path'];
        if (isset($o['photo'])) $this->photo = $o['photo'];
        if (isset($o['photo_light'])) $this->photo_light = $o['photo_light'];
        if (isset($o['date'])) $this->date = $o['date'];
        if (isset($o['latitude'])) $this->latitude = $o['latitude'];
        if (isset($o['longitude'])) $this->longitude = $o['longitude'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->id_client)) $o['id_client'] = $this->id_client;
        if (isset($this->num_facture)) $o['num_facture'] = $this->num_facture;
        if (isset($this->type)) $o['type'] = $this->type;
        if (isset($this->index)) $o['index'] = $this->index;
        if (isset($this->path)) $o['path'] = $this->path;
        if (isset($this->photo)) $o['photo'] = $this->photo;
        if (isset($this->photo_light)) $o['photo_light'] = $this->photo_light;
        if (isset($this->date)) $o['date'] = $this->date;
        if (isset($this->latitude)) $o['latitude'] = $this->latitude;
        if (isset($this->longitude)) $o['longitude'] = $this->longitude;
        return empty($o) ? new class(){} : $o;
    }
}

class _materiel implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $id_materiel=null,
        /** @var int */
        public int $depart=0,
        /** @var string|null */
        public ?string $type_materiel=null,
        /** @var int */
        public int $quantite_depart=0,
        /** @var int */
        public int $quantite=0,
        /** @var string|null */
        public ?string $date=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['id_materiel'])) $this->id_materiel = $o['id_materiel'];
        if (isset($o['depart'])) $this->depart = $o['depart'];
        if (isset($o['type_materiel'])) $this->type_materiel = $o['type_materiel'];
        if (isset($o['quantite_depart'])) $this->quantite_depart = $o['quantite_depart'];
        if (isset($o['quantite'])) $this->quantite = $o['quantite'];
        if (isset($o['date'])) $this->date = $o['date'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->id_materiel)) $o['id_materiel'] = $this->id_materiel;
        if (isset($this->depart)) $o['depart'] = $this->depart;
        if (isset($this->type_materiel)) $o['type_materiel'] = $this->type_materiel;
        if (isset($this->quantite_depart)) $o['quantite_depart'] = $this->quantite_depart;
        if (isset($this->quantite)) $o['quantite'] = $this->quantite;
        if (isset($this->date)) $o['date'] = $this->date;
        return empty($o) ? new class(){} : $o;
    }
}

class _reprise implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $num_facture=null,
        /** @var string|null */
        public ?string $type_reprise=null,
        /** @var string|null */
        public ?string $article_id=null,
        /** @var int */
        public int $article_absent=0,
        /** @var int */
        public int $quantite=0,
        /** @var int */
        public int $reintegrable=0,
        /** @var string|null */
        public ?string $commentaire=null,
        /** @var string|null */
        public ?string $date=null,
        /** @var float|null */
        public ?float $qte_uv=null,
        /** @var float|null */
        public ?float $qte_uc=null,
        /** @var float|null */
        public ?float $cdt_uc=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['num_facture'])) $this->num_facture = $o['num_facture'];
        if (isset($o['type_reprise'])) $this->type_reprise = $o['type_reprise'];
        if (isset($o['article_id'])) $this->article_id = $o['article_id'];
        if (isset($o['article_absent'])) $this->article_absent = $o['article_absent'];
        if (isset($o['quantite'])) $this->quantite = $o['quantite'];
        if (isset($o['reintegrable'])) $this->reintegrable = $o['reintegrable'];
        if (isset($o['commentaire'])) $this->commentaire = $o['commentaire'];
        if (isset($o['date'])) $this->date = $o['date'];
        if (isset($o['qte_uv'])) $this->qte_uv = $o['qte_uv'];
        if (isset($o['qte_uc'])) $this->qte_uc = $o['qte_uc'];
        if (isset($o['cdt_uc'])) $this->cdt_uc = $o['cdt_uc'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->num_facture)) $o['num_facture'] = $this->num_facture;
        if (isset($this->type_reprise)) $o['type_reprise'] = $this->type_reprise;
        if (isset($this->article_id)) $o['article_id'] = $this->article_id;
        if (isset($this->article_absent)) $o['article_absent'] = $this->article_absent;
        if (isset($this->quantite)) $o['quantite'] = $this->quantite;
        if (isset($this->reintegrable)) $o['reintegrable'] = $this->reintegrable;
        if (isset($this->commentaire)) $o['commentaire'] = $this->commentaire;
        if (isset($this->date)) $o['date'] = $this->date;
        if (isset($this->qte_uv)) $o['qte_uv'] = $this->qte_uv;
        if (isset($this->qte_uc)) $o['qte_uc'] = $this->qte_uc;
        if (isset($this->cdt_uc)) $o['cdt_uc'] = $this->cdt_uc;
        return empty($o) ? new class(){} : $o;
    }
}

class cl_tournee_realtimeResponse implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var array<_alerte_tournee>|null */
        public ?array $alertes_tournees=null,
        /** @var array<_incident_livraison>|null */
        public ?array $incidents_livraisons=null,
        /** @var array<_inter_livraison>|null */
        public ?array $inter_livraisons=null,
        /** @var array<_messagerie>|null */
        public ?array $messages=null,
        /** @var array<_info_tournee>|null */
        public ?array $infos_tournees=null,
        /** @var array<_multi_photo>|null */
        public ?array $multi_photos=null,
        /** @var array<_materiel>|null */
        public ?array $materiels=null,
        /** @var array<_reprise>|null */
        public ?array $reprises=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['alertes_tournees'])) $this->alertes_tournees = JsonConverters::fromArray('_alerte_tournee', $o['alertes_tournees']);
        if (isset($o['incidents_livraisons'])) $this->incidents_livraisons = JsonConverters::fromArray('_incident_livraison', $o['incidents_livraisons']);
        if (isset($o['inter_livraisons'])) $this->inter_livraisons = JsonConverters::fromArray('_inter_livraison', $o['inter_livraisons']);
        if (isset($o['messages'])) $this->messages = JsonConverters::fromArray('_messagerie', $o['messages']);
        if (isset($o['infos_tournees'])) $this->infos_tournees = JsonConverters::fromArray('_info_tournee', $o['infos_tournees']);
        if (isset($o['multi_photos'])) $this->multi_photos = JsonConverters::fromArray('_multi_photo', $o['multi_photos']);
        if (isset($o['materiels'])) $this->materiels = JsonConverters::fromArray('_materiel', $o['materiels']);
        if (isset($o['reprises'])) $this->reprises = JsonConverters::fromArray('_reprise', $o['reprises']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->alertes_tournees)) $o['alertes_tournees'] = JsonConverters::toArray('_alerte_tournee', $this->alertes_tournees);
        if (isset($this->incidents_livraisons)) $o['incidents_livraisons'] = JsonConverters::toArray('_incident_livraison', $this->incidents_livraisons);
        if (isset($this->inter_livraisons)) $o['inter_livraisons'] = JsonConverters::toArray('_inter_livraison', $this->inter_livraisons);
        if (isset($this->messages)) $o['messages'] = JsonConverters::toArray('_messagerie', $this->messages);
        if (isset($this->infos_tournees)) $o['infos_tournees'] = JsonConverters::toArray('_info_tournee', $this->infos_tournees);
        if (isset($this->multi_photos)) $o['multi_photos'] = JsonConverters::toArray('_multi_photo', $this->multi_photos);
        if (isset($this->materiels)) $o['materiels'] = JsonConverters::toArray('_materiel', $this->materiels);
        if (isset($this->reprises)) $o['reprises'] = JsonConverters::toArray('_reprise', $this->reprises);
        return empty($o) ? new class(){} : $o;
    }
}

class _ordre_tournee implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var array<string>|null */
        public ?array $factures=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['factures'])) $this->factures = JsonConverters::fromArray('string', $o['factures']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->factures)) $o['factures'] = JsonConverters::toArray('string', $this->factures);
        return empty($o) ? new class(){} : $o;
    }
}

class _deconsigne implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $num_facture=null,
        /** @var string|null */
        public ?string $id_deconsigne=null,
        /** @var string|null */
        public ?string $id_client=null,
        /** @var int|null */
        public ?int $quantite=null,
        /** @var float|null */
        public ?float $pu_euro=null,
        /** @var float|null */
        public ?float $montant=null,
        /** @var string|null */
        public ?string $date=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['num_facture'])) $this->num_facture = $o['num_facture'];
        if (isset($o['id_deconsigne'])) $this->id_deconsigne = $o['id_deconsigne'];
        if (isset($o['id_client'])) $this->id_client = $o['id_client'];
        if (isset($o['quantite'])) $this->quantite = $o['quantite'];
        if (isset($o['pu_euro'])) $this->pu_euro = $o['pu_euro'];
        if (isset($o['montant'])) $this->montant = $o['montant'];
        if (isset($o['date'])) $this->date = $o['date'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->num_facture)) $o['num_facture'] = $this->num_facture;
        if (isset($this->id_deconsigne)) $o['id_deconsigne'] = $this->id_deconsigne;
        if (isset($this->id_client)) $o['id_client'] = $this->id_client;
        if (isset($this->quantite)) $o['quantite'] = $this->quantite;
        if (isset($this->pu_euro)) $o['pu_euro'] = $this->pu_euro;
        if (isset($this->montant)) $o['montant'] = $this->montant;
        if (isset($this->date)) $o['date'] = $this->date;
        return empty($o) ? new class(){} : $o;
    }
}

class _encaissement implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $id_client=null,
        /** @var string|null */
        public ?string $id_reglement=null,
        /** @var float|null */
        public ?float $montant=null,
        /** @var string|null */
        public ?string $code_devise=null,
        /** @var string|null */
        public ?string $date=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['id_client'])) $this->id_client = $o['id_client'];
        if (isset($o['id_reglement'])) $this->id_reglement = $o['id_reglement'];
        if (isset($o['montant'])) $this->montant = $o['montant'];
        if (isset($o['code_devise'])) $this->code_devise = $o['code_devise'];
        if (isset($o['date'])) $this->date = $o['date'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->id_client)) $o['id_client'] = $this->id_client;
        if (isset($this->id_reglement)) $o['id_reglement'] = $this->id_reglement;
        if (isset($this->montant)) $o['montant'] = $this->montant;
        if (isset($this->code_devise)) $o['code_devise'] = $this->code_devise;
        if (isset($this->date)) $o['date'] = $this->date;
        return empty($o) ? new class(){} : $o;
    }
}

class _incident implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var string|null */
        public ?string $num_facture=null,
        /** @var string|null */
        public ?string $id_motif=null,
        /** @var string|null */
        public ?string $date=null,
        /** @var string|null */
        public ?string $photo=null,
        /** @var int */
        public int $attente=0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['num_facture'])) $this->num_facture = $o['num_facture'];
        if (isset($o['id_motif'])) $this->id_motif = $o['id_motif'];
        if (isset($o['date'])) $this->date = $o['date'];
        if (isset($o['photo'])) $this->photo = $o['photo'];
        if (isset($o['attente'])) $this->attente = $o['attente'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->num_facture)) $o['num_facture'] = $this->num_facture;
        if (isset($this->id_motif)) $o['id_motif'] = $this->id_motif;
        if (isset($this->date)) $o['date'] = $this->date;
        if (isset($this->photo)) $o['photo'] = $this->photo;
        if (isset($this->attente)) $o['attente'] = $this->attente;
        return empty($o) ? new class(){} : $o;
    }
}

class cl_tournee_realtimeRequest implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $id_operateur=null,
        /** @var string|null */
        public ?string $id_tournee=null,
        /** @var array<_alerte_tournee>|null */
        public ?array $alertes_tournees=null,
        /** @var array<_incident_livraison>|null */
        public ?array $incidents_livraisons=null,
        /** @var array<_inter_livraison>|null */
        public ?array $inter_livraisons=null,
        /** @var array<_messagerie>|null */
        public ?array $messages=null,
        /** @var array<_info_tournee>|null */
        public ?array $infos_tournees=null,
        /** @var array<_ordre_tournee>|null */
        public ?array $ordre_tournees=null,
        /** @var array<_multi_photo>|null */
        public ?array $multi_photos=null,
        /** @var array<_materiel>|null */
        public ?array $materiels=null,
        /** @var array<_reprise>|null */
        public ?array $reprises=null,
        /** @var array<_deconsigne>|null */
        public ?array $deconsignes=null,
        /** @var array<_encaissement>|null */
        public ?array $encaissements=null,
        /** @var array<_incident>|null */
        public ?array $incidents=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id_operateur'])) $this->id_operateur = $o['id_operateur'];
        if (isset($o['id_tournee'])) $this->id_tournee = $o['id_tournee'];
        if (isset($o['alertes_tournees'])) $this->alertes_tournees = JsonConverters::fromArray('_alerte_tournee', $o['alertes_tournees']);
        if (isset($o['incidents_livraisons'])) $this->incidents_livraisons = JsonConverters::fromArray('_incident_livraison', $o['incidents_livraisons']);
        if (isset($o['inter_livraisons'])) $this->inter_livraisons = JsonConverters::fromArray('_inter_livraison', $o['inter_livraisons']);
        if (isset($o['messages'])) $this->messages = JsonConverters::fromArray('_messagerie', $o['messages']);
        if (isset($o['infos_tournees'])) $this->infos_tournees = JsonConverters::fromArray('_info_tournee', $o['infos_tournees']);
        if (isset($o['ordre_tournees'])) $this->ordre_tournees = JsonConverters::fromArray('_ordre_tournee', $o['ordre_tournees']);
        if (isset($o['multi_photos'])) $this->multi_photos = JsonConverters::fromArray('_multi_photo', $o['multi_photos']);
        if (isset($o['materiels'])) $this->materiels = JsonConverters::fromArray('_materiel', $o['materiels']);
        if (isset($o['reprises'])) $this->reprises = JsonConverters::fromArray('_reprise', $o['reprises']);
        if (isset($o['deconsignes'])) $this->deconsignes = JsonConverters::fromArray('_deconsigne', $o['deconsignes']);
        if (isset($o['encaissements'])) $this->encaissements = JsonConverters::fromArray('_encaissement', $o['encaissements']);
        if (isset($o['incidents'])) $this->incidents = JsonConverters::fromArray('_incident', $o['incidents']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id_operateur)) $o['id_operateur'] = $this->id_operateur;
        if (isset($this->id_tournee)) $o['id_tournee'] = $this->id_tournee;
        if (isset($this->alertes_tournees)) $o['alertes_tournees'] = JsonConverters::toArray('_alerte_tournee', $this->alertes_tournees);
        if (isset($this->incidents_livraisons)) $o['incidents_livraisons'] = JsonConverters::toArray('_incident_livraison', $this->incidents_livraisons);
        if (isset($this->inter_livraisons)) $o['inter_livraisons'] = JsonConverters::toArray('_inter_livraison', $this->inter_livraisons);
        if (isset($this->messages)) $o['messages'] = JsonConverters::toArray('_messagerie', $this->messages);
        if (isset($this->infos_tournees)) $o['infos_tournees'] = JsonConverters::toArray('_info_tournee', $this->infos_tournees);
        if (isset($this->ordre_tournees)) $o['ordre_tournees'] = JsonConverters::toArray('_ordre_tournee', $this->ordre_tournees);
        if (isset($this->multi_photos)) $o['multi_photos'] = JsonConverters::toArray('_multi_photo', $this->multi_photos);
        if (isset($this->materiels)) $o['materiels'] = JsonConverters::toArray('_materiel', $this->materiels);
        if (isset($this->reprises)) $o['reprises'] = JsonConverters::toArray('_reprise', $this->reprises);
        if (isset($this->deconsignes)) $o['deconsignes'] = JsonConverters::toArray('_deconsigne', $this->deconsignes);
        if (isset($this->encaissements)) $o['encaissements'] = JsonConverters::toArray('_encaissement', $this->encaissements);
        if (isset($this->incidents)) $o['incidents'] = JsonConverters::toArray('_incident', $this->incidents);
        return empty($o) ? new class(){} : $o;
    }
}

PHP cl_tournee_realtimeRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /cl_tournee_realtime/{id_operateur}/{id_tournee} HTTP/1.1 
Host: freemotion-staging.milliet.paris 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"id_operateur":"String","id_tournee":"String","alertes_tournees":[{"id_operateur":"String","id_tournee":"String","id_evenement":"String","date":"String","latitude":0,"longitude":0,"duree":0,"factures_non_livrees":[{"id_operateur":"String","id_tournee":"String","id_evenement":"String","date":"String","num_facture":"String"}]}],"incidents_livraisons":[{"id_operateur":"String","id_tournee":"String","num_facture":"String","id_incident":"String","date":"String","latitude":0,"longitude":0,"commentaire":"String","photo":"String","lignes":[{"id_operateur":"String","id_tournee":"String","num_facture":"String","id_incident":"String","date":"String","line_id":"String","article_id":"String","quantite":"String","qte_uv":"String","qte_uc":"String","cdt_uc":"String"}]}],"inter_livraisons":[{"id_operateur":"String","id_tournee":"String","date":"String","latitude":0,"longitude":0,"id_client_termine":"String","satisfaction":0,"id_client_suivant":"String","signature":"String"}],"messages":[{"id_operateur":"String","id_tournee":"String","id_message":"String","date":"String","latitude":0,"longitude":0,"message":"String","photo":"String"}],"infos_tournees":[{"id_operateur":"String","id_tournee":"String","date":"String","latitude":0,"longitude":0,"aptitude":0,"id_fin_tournee":"String","kilometrage_depart":"String","carburant_correct":0,"ad_blue_allume":0,"platform":"String","brand":"String","model":"String","release":"String","sdk":"String","app_version":"String"}],"ordre_tournees":[{"id_operateur":"String","id_tournee":"String","factures":["String"]}],"multi_photos":[{"id_operateur":"String","id_tournee":"String","id_client":"String","num_facture":"String","type":0,"index":0,"path":"String","photo":"String","photo_light":"String","date":"String","latitude":0,"longitude":0}],"materiels":[{"id_operateur":"String","id_tournee":"String","id_materiel":"String","depart":0,"type_materiel":"String","quantite_depart":0,"quantite":0,"date":"String"}],"reprises":[{"id_operateur":"String","id_tournee":"String","num_facture":"String","type_reprise":"String","article_id":"String","article_absent":0,"quantite":0,"reintegrable":0,"commentaire":"String","date":"String","qte_uv":0,"qte_uc":0,"cdt_uc":0}],"deconsignes":[{"id_operateur":"String","id_tournee":"String","num_facture":"String","id_deconsigne":"String","id_client":"String","quantite":0,"pu_euro":0,"montant":0,"date":"String"}],"encaissements":[{"id_operateur":"String","id_tournee":"String","id_client":"String","id_reglement":"String","montant":0,"code_devise":"String","date":"String"}],"incidents":[{"id_operateur":"String","id_tournee":"String","num_facture":"String","id_motif":"String","date":"String","photo":"String","attente":0}]}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"id_operateur":"String","id_tournee":"String","alertes_tournees":[{"id_operateur":"String","id_tournee":"String","id_evenement":"String","date":"String","latitude":0,"longitude":0,"duree":0,"factures_non_livrees":[{"id_operateur":"String","id_tournee":"String","id_evenement":"String","date":"String","num_facture":"String"}]}],"incidents_livraisons":[{"id_operateur":"String","id_tournee":"String","num_facture":"String","id_incident":"String","date":"String","latitude":0,"longitude":0,"commentaire":"String","photo":"String","lignes":[{"id_operateur":"String","id_tournee":"String","num_facture":"String","id_incident":"String","date":"String","line_id":"String","article_id":"String","quantite":"String","qte_uv":"String","qte_uc":"String","cdt_uc":"String"}]}],"inter_livraisons":[{"id_operateur":"String","id_tournee":"String","date":"String","latitude":0,"longitude":0,"id_client_termine":"String","satisfaction":0,"id_client_suivant":"String","signature":"String"}],"messages":[{"id_operateur":"String","id_tournee":"String","id_message":"String","date":"String","latitude":0,"longitude":0,"message":"String","photo":"String"}],"infos_tournees":[{"id_operateur":"String","id_tournee":"String","date":"String","latitude":0,"longitude":0,"aptitude":0,"id_fin_tournee":"String","kilometrage_depart":"String","carburant_correct":0,"ad_blue_allume":0,"platform":"String","brand":"String","model":"String","release":"String","sdk":"String","app_version":"String"}],"multi_photos":[{"id_operateur":"String","id_tournee":"String","id_client":"String","num_facture":"String","type":0,"index":0,"path":"String","photo":"String","photo_light":"String","date":"String","latitude":0,"longitude":0}],"materiels":[{"id_operateur":"String","id_tournee":"String","id_materiel":"String","depart":0,"type_materiel":"String","quantite_depart":0,"quantite":0,"date":"String"}],"reprises":[{"id_operateur":"String","id_tournee":"String","num_facture":"String","type_reprise":"String","article_id":"String","article_absent":0,"quantite":0,"reintegrable":0,"commentaire":"String","date":"String","qte_uv":0,"qte_uc":0,"cdt_uc":0}]}