Skip to main content

Acheminement d'un centre VHU vers un broyeur avec transport multi-modal

En cas de transport multi-modal, plusieurs transporteurs peuvent être renseignés dans un ordre donné grâce au champ `transporters`. Les transporteurs signent chacun à leur tour grâce à la mutation `signBsvhu` (type=TRANSPORT). La liste des transporteurs peut être modifiée par n'importe quel acteur du bordereau tant que le bordereau n'a pas été réceptionné sur l'installation de destination. À noter toutefois qu'un transporteur ne peut plus être modifié ou supprimé dès lors qu'il a signé le bordereau.
graph LR AO(NO STATE) -->|createBsvhu| A(INITIAL) A -->|"signBsvhu (EMISSION)"| B(SIGNED_BY_PRODUCTER) B -->|"signBsvhu (TRANSPORT)"| C(SENT) C -->|"signBsvhu (TRANSPORT)"| D(SENT) D -->|"signBsvhu (TRANSPORT)"| E(SENT) E -->|"signBsvhu (RECEPTION)" | F(RECEIVED) F -->|"signBsvhu (OPERATION)"| G(PROCESSED)

Crée un premier transporteur qui sera associé au bordereau.
mutation CreateBsvhuTransporter($input: BsvhuTransporterInput!) {
createBsvhuTransporter(input: $input) {
id
}
}
{
"input": {
"company": {
"siret": "SIRET_TRANSPORTEUR_1",
"name": "Transport Inc",
"address": "1 rue des 6 chemins, 07100 Annonay",
"contact": "Jean Dupont",
"phone": "01 00 00 00 00",
"mail": "transport.dupont@transporter.fr"
}
}
}
Crée un second transporteur qui sera associé au bordereau.
mutation CreateBsvhuTransporter($input: BsvhuTransporterInput!) {
createBsvhuTransporter(input: $input) {
id
}
}
{
"input": {
"company": {
"siret": "SIRET_TRANSPORTEUR_2",
"name": "Transport Inc",
"address": "1 rue des 6 chemins, 07100 Annonay",
"contact": "Jean Dupont",
"phone": "01 00 00 00 00",
"mail": "transport.dupont@transporter.fr"
}
}
}
Création du BSVHU avec des transporteurs
mutation CreateBsvhu($input: BsvhuInput!) {
createBsvhu(input: $input) {
id
status
}
}
{
"input": {
"emitter": {
"agrementNumber": "1234",
"company": {
"siret": "SIRET_PRODUCTEUR",
"name": "Casse auto",
"address": "1 rue de paradis, 75010 PARIS",
"contact": "Jean Voiture",
"phone": "01 00 00 00 00",
"mail": "jean.voiture@vhu.fr"
}
},
"wasteCode": "16 01 06",
"packaging": "UNITE",
"identification": {
"numbers": [
"123",
"456"
],
"type": "NUMERO_ORDRE_REGISTRE_POLICE"
},
"quantity": 2,
"weight": {
"value": 1.3,
"isEstimate": false
},
"transporters": [
"ID_BSVHU_TRANSPORTER_1",
"ID_BSVHU_TRANSPORTER_2"
],
"destination": {
"type": "BROYEUR",
"agrementNumber": "456",
"plannedOperationCode": "R 12",
"company": {
"siret": "SIRET_BROYEUR",
"name": "Broyeur du Sud Est",
"address": "4 boulevard Longchamp, 13001 Marseille",
"contact": "Tom Broyeur",
"phone": "01 00 00 00 00",
"mail": "tom@broyeur.fr"
}
}
}
}
Le producteur procède ensuite à la signature
mutation SignBsvhu($id: ID!, $input: BsvhuSignatureInput!) {
signBsvhu(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSD",
"input": {
"type": "EMISSION",
"author": "Jean VHU"
}
}
Le premier transporteur met à jour ses informations de signature
mutation UpdateBsvhuTransporter($id: ID!, $input: BsvhuTransporterInput!) {
updateBsvhuTransporter(id: $id, input: $input) {
id
}
}
{
"id": "ID_BSVHU_TRANSPORTER_1",
"input": {
"transport": {
"mode": "ROAD",
"plates": [
"abc21cde"
],
"takenOverAt": "2025-10-14T09:09:59.302Z"
}
}
}
Le premier transporteur signe le bordereau
mutation SignBsvhu($id: ID!, $input: BsvhuSignatureInput!) {
signBsvhu(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSD",
"input": {
"type": "TRANSPORT",
"author": "Patrick"
}
}
Le second transporteur met à jour ses informations de signature
mutation UpdateBsvhuTransporter($id: ID!, $input: BsvhuTransporterInput!) {
updateBsvhuTransporter(id: $id, input: $input) {
id
}
}
{
"id": "ID_BSVHU_TRANSPORTER_2",
"input": {
"transport": {
"mode": "ROAD",
"plates": [
"abc21cde"
],
"takenOverAt": "2025-10-14T09:09:59.302Z"
}
}
}
Le second transporteur signe le bordereau
mutation SignBsvhu($id: ID!, $input: BsvhuSignatureInput!) {
signBsvhu(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSD",
"input": {
"type": "TRANSPORT",
"author": "Patrick"
}
}
Le broyeur affrète un troisième transporteur
mutation CreateBsvhuTransporter($input: BsvhuTransporterInput!) {
createBsvhuTransporter(input: $input) {
id
}
}
{
"input": {
"company": {
"siret": "SIRET_TRANSPORTEUR_3",
"name": "Transport Inc",
"address": "1 rue des 6 chemins, 07100 Annonay",
"contact": "Jean Dupont",
"phone": "01 00 00 00 00",
"mail": "transport.dupont@transporter.fr"
}
}
}
Le troisième transporteur est ajouté sur le bordereau
mutation UpdateBsvhu($id: ID!, $input: BsvhuInput!) {
updateBsvhu(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSD",
"input": {
"transporters": [
"ID_BSVHU_TRANSPORTER_1",
"ID_BSVHU_TRANSPORTER_2",
"ID_BSVHU_TRANSPORTER_3"
]
}
}
Le troisième transporteur met à jour ses informations de signature
mutation UpdateBsvhuTransporter($id: ID!, $input: BsvhuTransporterInput!) {
updateBsvhuTransporter(id: $id, input: $input) {
id
}
}
{
"input": {
"transport": {
"mode": "ROAD",
"plates": [
"abc21cde"
],
"takenOverAt": "2025-10-14T09:09:59.302Z"
}
}
}
Le troisième transporteur signe le bordereau
mutation SignBsvhu($id: ID!, $input: BsvhuSignatureInput!) {
signBsvhu(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSD",
"input": {
"type": "TRANSPORT",
"author": "Patrick"
}
}
Le broyeur renseigne les données de réception (étape facultative)
mutation UpdateBsvhu($id: ID!, $input: BsvhuInput!) {
updateBsvhu(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSD",
"input": {
"destination": {
"reception": {
"weight": 1.4,
"acceptationStatus": "ACCEPTED",
"date": "2021-04-27"
}
}
}
}
Le broyeur procède ensuite à la signature de la réception (étape facultative)
mutation SignBsvhu($id: ID!, $input: BsvhuSignatureInput!) {
signBsvhu(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSD",
"input": {
"type": "RECEPTION",
"author": "Henri Broyeur"
}
}
Le broyeur renseigne les données de traitement
mutation UpdateBsvhu($id: ID!, $input: BsvhuInput!) {
updateBsvhu(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSD",
"input": {
"destination": {
"operation": {
"date": "2021-04-27",
"code": "R 12"
}
}
}
}
Le broyeur procède ensuite à la signature
mutation SignBsvhu($id: ID!, $input: BsvhuSignatureInput!) {
signBsvhu(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSD",
"input": {
"type": "OPERATION",
"author": "Henri Broyeur"
}
}