Collecte d'amiante sur un chantier 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 `signBsda` (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) -->|createBsda| A
A(INITIAL) -->|"signBsda(EMISSION)"| B(SIGNED_BY_PRODUCER)
B -->|"signBsda(WORK)"| C(SIGNED_BY_WORKER)
C --> |"signBsda(TRANSPORT)"| D(SENT)
D -->|"signBsda(TRANSPORT)"| E(SENT)
E -->|"signBsda(TRANSPORT)"| F(SENT)
F --> |"signBsda(OPERATION)"| G(PROCESSED)
Crée un premier transporteur qui sera associé au bordereau.
mutation CreateBsdaTransporter($input: BsdaTransporterInput!) {
createBsdaTransporter(input: $input) {
id
}
}
{
"input": {
"company": {
"siret": "SIRET_TRANSPORTEUR_1",
"name": "Transport & Co",
"address": "1 rue des 6 chemins, 07100 ANNONAY",
"contact": "Claire Dupuis",
"mail": "claire.dupuis@transportco.fr",
"phone": "04 00 00 00 00"
}
}
}
Crée un second transporteur qui sera associé au bordereau.
mutation CreateBsdaTransporter($input: BsdaTransporterInput!) {
createBsdaTransporter(input: $input) {
id
}
}
{
"input": {
"company": {
"siret": "SIRET_TRANSPORTEUR_2",
"name": "Transport & Co",
"address": "1 rue des 6 chemins, 07100 ANNONAY",
"contact": "Claire Dupuis",
"mail": "claire.dupuis@transportco.fr",
"phone": "04 00 00 00 00"
}
}
}
Crée un BSDA en associant une liste de transporteurs dans un ordre donné
mutation Createbsda($input: BsdaInput!) {
createBsda(input: $input) {
id
status
}
}
{
"input": {
"emitter": {
"isPrivateIndividual": false,
"company": {
"siret": "SIRET_PRODUCTEUR",
"name": "Déchets & Co",
"address": "1 rue de paradis, 75010 PARIS",
"contact": "Jean Dupont",
"phone": "01 00 00 00 00",
"mail": "jean.dupont@dechets.org"
},
"pickupSite": {
"address": "5 rue du chantier",
"postalCode": "75010",
"city": "Paris",
"infos": "Site de stockage de boues"
}
},
"destination": {
"company": {
"siret": "SIRET_TRAITEUR",
"name": "Traiteur & Co",
"address": "1 avenue de l'incinérateur 67100 Strasbourg",
"contact": "Thomas Largeron",
"phone": "03 00 00 00 00",
"mail": "thomas.largeron@incinerateur.fr"
},
"plannedOperationCode": "D 5",
"cap": "CAP"
},
"waste": {
"code": "16 01 11*",
"consistence": "SOLIDE",
"familyCode": "Code famille",
"materialName": "Nom usuel du matériau",
"sealNumbers": [
"1",
"2",
"3"
],
"adr": "ADR"
},
"worker": {
"company": {
"siret": "SIRET_WORKER",
"name": "Entreprise de travaux & Co",
"address": "1 avenue du travail 67100 Strasbourg",
"contact": "Thomas Lebosseur",
"phone": "03 00 00 00 00",
"mail": "thomas.lebosseur@worker.fr"
}
},
"packagings": [
{
"type": "BIG_BAG",
"quantity": 2
}
],
"weight": {
"isEstimate": true,
"value": 2.3
},
"transporters": [
"ID_BSDA_TRANSPORTER_1",
"ID_BSDA_TRANSPORTER_2"
]
}
}
L'entreprise producteur appose une signature "EMISSION" sur le BSDA.
mutation SignBsda($id: ID!, $input: BsdaSignatureInput!) {
signBsda(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSDA",
"input": {
"author": "Jean Dupont",
"type": "EMISSION"
}
}
L'entreprise worker appose une signature "WORK" sur le BSDA.
mutation SignBsda($id: ID!, $input: BsdaSignatureInput!) {
signBsda(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSDA",
"input": {
"author": "Jean Dupont",
"type": "WORK"
}
}
Le premier transporteur met à jour ses informations de signature
mutation UpdateBsdaTransporter($id: ID!, $input: BsdaTransporterInput!) {
updateBsdaTransporter(id: $id, input: $input) {
id
}
}
{
"id": "ID_BSDA_TRANSPORTER_1",
"input": {
"transport": {
"mode": "ROAD",
"plates": [
"abc21cde"
],
"takenOverAt": "2024-12-20T16:17:03.918Z"
}
}
}
Le premier transporteur signe le bordereau
mutation SignBsda($id: ID!, $input: BsdaSignatureInput!) {
signBsda(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSDA",
"input": {
"author": "Jean Dupont",
"type": "TRANSPORT"
}
}
Le second transporteur met à jour ses informations de signature
mutation UpdateBsdaTransporter($id: ID!, $input: BsdaTransporterInput!) {
updateBsdaTransporter(id: $id, input: $input) {
id
}
}
{
"id": "ID_BSDA_TRANSPORTER_2",
"input": {
"transport": {
"mode": "ROAD",
"plates": [
"abc21cde"
],
"takenOverAt": "2024-12-20T16:17:03.918Z"
}
}
}
Le second transporteur signe le bordereau
mutation SignBsda($id: ID!, $input: BsdaSignatureInput!) {
signBsda(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSDA",
"input": {
"author": "Jean Dupont",
"type": "TRANSPORT"
}
}
L'installation de destination affrète un troisième transporteur
mutation CreateBsdaTransporter($input: BsdaTransporterInput!) {
createBsdaTransporter(input: $input) {
id
}
}
{
"input": {
"company": {
"siret": "SIRET_TRANSPORTEUR_3",
"name": "Transport & Co",
"address": "1 rue des 6 chemins, 07100 ANNONAY",
"contact": "Claire Dupuis",
"mail": "claire.dupuis@transportco.fr",
"phone": "04 00 00 00 00"
}
}
}
Le troisième transporteur est ajouté sur le bordereau
mutation Updatebsda($id: ID!, $input: BsdaInput!) {
updateBsda(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSDA",
"input": {
"transporters": [
"ID_BSDA_TRANSPORTER_1",
"ID_BSDA_TRANSPORTER_2",
"ID_BSDA_TRANSPORTER_3"
]
}
}
Le troisième transporteur met à jour ses informations de signature
mutation UpdateBsdaTransporter($id: ID!, $input: BsdaTransporterInput!) {
updateBsdaTransporter(id: $id, input: $input) {
id
}
}
{
"input": {
"transport": {
"mode": "ROAD",
"plates": [
"abc21cde"
],
"takenOverAt": "2024-12-20T16:17:03.918Z"
}
}
}
Le troisième transporteur signe le bordereau
mutation SignBsda($id: ID!, $input: BsdaSignatureInput!) {
signBsda(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSDA",
"input": {
"author": "Jean Dupont",
"type": "TRANSPORT"
}
}
Mise à jour des informations du BSDA.
mutation Updatebsda($id: ID!, $input: BsdaInput!) {
updateBsda(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSDA",
"input": {
"destination": {
"reception": {
"acceptationStatus": "ACCEPTED",
"date": "2024-12-20T16:17:03.918Z",
"weight": 2.1
},
"operation": {
"code": "D 5",
"mode": "ELIMINATION",
"date": "2024-12-20T16:17:03.918Z"
}
}
}
}
L'entreprise traiteur appose une signature "OPERATION" sur le BSDA.
mutation SignBsda($id: ID!, $input: BsdaSignatureInput!) {
signBsda(id: $id, input: $input) {
id
status
}
}
{
"id": "ID_BSDA",
"input": {
"author": "Jean Dupont",
"type": "OPERATION"
}
}