{
  "openapi": "3.0.3",
  "info": {
    "title": "Track & Trace API",
    "version": "1.0.1",
    "contact": {
      "name": "MendriX",
      "url": "https://www.mendrix.nl/"
    },
    "description": "REST API for MendriX WorldLink Track & Trace. It powers customer-facing\ntrack & trace portals: showing a shipment’s address, goods, milestones and\nscan traces, following the driver’s live route, reading and changing task\ninstructions, and rescheduling a delivery appointment (including the optional\npayment step for a paid reschedule).\n\n## Base URL\nAll data endpoints in this document are served under the version prefix:\n\n```\nhttps://<your-client-name>.mendrix.cloud/WorldLink/TrackAndTrace/v1\n```\n\nReplace `<your-client-name>` with the client name assigned by MendriX. Note\nthe host has **no** `api.` prefix for this API. The trace session entry point\n(`GET /WorldLink/TrackAndTrace/`, see Authentication) sits one level above the\n`/v1` prefix.\n\n## Authentication\nRequests are authenticated with an **`mxtt_traceinfo`** cookie that scopes\nevery call to a single traced shipment. There is no username/password login\nand no bearer token.\n\nThe cookie is issued by the trace session entry point: perform a `GET` on\n`https://<your-client-name>.mendrix.cloud/WorldLink/TrackAndTrace/` with the shipment’s trace\ncredentials as query parameters. On a successful lookup the server returns the\npage together with a `Set-Cookie: mxtt_traceinfo=<value>` header; send that\ncookie on every subsequent `/v1` call. Supplying the same query parameters on\nany `/v1` GET also (re)issues the cookie.\n\nTwo credential combinations are accepted (`Tracecode` is always required):\n- **Trace code + order id** — `Tracecode` and `Orderid`.\n- **Trace code + address** — `Tracecode`, `Postalcode` and `Number` (house number).\n\nThe cookie value is the Base64 encoding of a small JSON object (`Tracecode`,\n`OrderId`, `Postalcode`, `Number`), followed by a `.` and an HMAC-SHA256\nsignature over that payload. The signing key is per installation, so the\ncookie cannot be forged or tampered with; a cookie with a missing or invalid\nsignature is rejected and treated as if no cookie was sent. The payload is\nsigned, not encrypted - it stays readable, so do not treat it as confidential.\n\nIt is issued as a session cookie with `Path=/` and `SameSite=Lax`, plus\n`Secure` when the request arrived over HTTPS. It is not `HttpOnly`, because\nthe portal front-end reads it. Treat the trace code as a shared secret and\nalways serve the portal over HTTPS.\n\n## Rate limiting\nFailed trace lookups are throttled per client IP. Once too many lookups with\nunknown trace credentials arrive from one IP within a short window, further\nlookups from that IP are rejected with `429 Too Many Requests` carrying a\n`Retry-After` header with the number of seconds to wait; the body is the\nusual \"Code\"/\"Msg\" error object. Successful lookups are not counted, so\nrepeatedly opening a valid trace link is never throttled. Calls that already\ncarry an `mxtt_traceinfo` cookie are unaffected."
  },
  "tags": [
    {
      "name": "Session",
      "description": "Obtain the mxtt_traceinfo trace session cookie."
    },
    {
      "name": "Address",
      "description": "Delivery or pickup address of the traced shipment."
    },
    {
      "name": "Appointment",
      "description": "View and reschedule the delivery/pickup appointment, including plandates, concepts and time windows."
    },
    {
      "name": "Goods",
      "description": "Goods (items) that make up the traced shipment."
    },
    {
      "name": "Milestones",
      "description": "Timeline of milestones for the traced shipment."
    },
    {
      "name": "Traces",
      "description": "Scan trace events for the goods of the traced shipment."
    },
    {
      "name": "Liveroute",
      "description": "Live position of the driver performing the traced shipment."
    },
    {
      "name": "Payment",
      "description": "Payment step (via Mollie) for a paid appointment reschedule."
    },
    {
      "name": "TaskInstruction",
      "description": "Delivery/pickup task instructions for the traced shipment."
    }
  ],
  "paths": {
    "/WorldLink/TrackAndTrace/": {
      "get": {
        "tags": [
          "Session"
        ],
        "summary": "Start trace session (issue mxtt_traceinfo cookie)",
        "description": "Entry point that authenticates a shipment and issues the `mxtt_traceinfo` cookie. Supply `Tracecode` together with **either** `Orderid` **or** `Postalcode` + `Number`. On a successful lookup the response carries a `Set-Cookie: mxtt_traceinfo=<base64>` header (session cookie, `Path=/`); send that cookie on every subsequent `/v1` request. This path sits above the `/v1` prefix used by the other endpoints.",
        "operationId": "startTraceSession",
        "security": [],
        "servers": [
          {
            "url": "https://{client}.mendrix.cloud/WorldLink/TrackAndTrace",
            "description": "Track & Trace entry point (above the /v1 prefix)",
            "variables": {
              "client": {
                "default": "your-client-name",
                "description": "The client name assigned by MendriX (no api. prefix for this API)."
              }
            }
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "Tracecode",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Trace code of the shipment. Always required.",
            "example": "MXTTF5F23DD15103C8BE"
          },
          {
            "in": "query",
            "name": "Orderid",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Order id. Use with `Tracecode` for the order flow (alternative to `Postalcode` + `Number`).",
            "example": 672
          },
          {
            "in": "query",
            "name": "Postalcode",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Postal code of the delivery/pickup address. Use with `Tracecode` and `Number` for the address flow.",
            "example": "5171KW"
          },
          {
            "in": "query",
            "name": "Number",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "House number of the delivery/pickup address. Use with `Tracecode` and `Postalcode` for the address flow.",
            "example": "1"
          }
        ],
        "responses": {
          "200": {
            "description": "Trace session established. The `mxtt_traceinfo` cookie is returned in the `Set-Cookie` header.",
            "headers": {
              "Set-Cookie": {
                "description": "The trace session cookie, e.g. `mxtt_traceinfo=<base64>; Path=/`.",
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Address": {
      "get": {
        "tags": [
          "Address"
        ],
        "summary": "GET address",
        "description": "Get the delivery or pickup address of the traced shipment",
        "operationId": "getAddress",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Address_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Appointment": {
      "get": {
        "tags": [
          "Appointment"
        ],
        "summary": "GET Appointment",
        "description": "Get current appointment details of the traced shipment",
        "operationId": "getAppointment",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Appointment/Plandates": {
      "get": {
        "tags": [
          "Appointment"
        ],
        "summary": "GET Appointment/Plandates",
        "description": "Get list of all available plandates for the current appointment of the traced shipment",
        "operationId": "getAppointmentPlandates",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_PlanDateList_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Appointment/Plandates/{PlanDateId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mxtt_traceinfo"
        },
        {
          "in": "path",
          "name": "PlanDateId",
          "schema": {
            "type": "integer"
          },
          "required": true,
          "description": "ID of Plandate"
        }
      ],
      "get": {
        "tags": [
          "Appointment"
        ],
        "summary": "GET Appointment/Plandates/{PlanDateId}",
        "description": "Get single available plandate for the current appointment of the traced shipment by PlanDateId",
        "operationId": "getAppointmentPlandatesByPlanDateId",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_PlanDate_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Appointment/PlandatesForConcept/{conceptId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mxtt_traceinfo"
        },
        {
          "in": "path",
          "name": "conceptId",
          "schema": {
            "type": "integer"
          },
          "required": true,
          "description": "Concept ID of appointment"
        }
      ],
      "get": {
        "tags": [
          "Appointment"
        ],
        "summary": "GET Appointment/PlandatesForConcept/{conceptId}",
        "description": "Get list of all available plandates for the concept appointment by Concept Id of the traced shipment",
        "operationId": "getAppointmentPlandatesForConceptByConceptId",
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_PlanDateList_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Appointment/Concept/Address": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mxtt_traceinfo"
        }
      ],
      "post": {
        "tags": [
          "Appointment"
        ],
        "summary": "POST Appointment/Concept/Address",
        "description": "Post a new concept address for the current appointment of the traced shipment",
        "operationId": "postAppointmentConceptAddress",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Concept_Address_Request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Concept_Address_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Appointment/Concept/Plandate": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mxtt_traceinfo"
        }
      ],
      "post": {
        "tags": [
          "Appointment"
        ],
        "summary": "POST Appointment/Concept/Plandate",
        "description": "Post a new concept plandate by PlanDateId and ConceptId for the current appointment of the traced shipment",
        "operationId": "getAppointmentConceptPlandate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Concept_PlanDate_Request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Concept_Address_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Appointment/Confirm/{conceptId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mxtt_traceinfo"
        },
        {
          "in": "path",
          "name": "conceptId",
          "schema": {
            "type": "integer"
          },
          "required": true,
          "description": "Concept ID of appointment"
        }
      ],
      "get": {
        "tags": [
          "Appointment"
        ],
        "summary": "GET Appointment/Confirm/{conceptId}",
        "description": "Get confirmation from the server by concept ID to varify if the concept appointment is still valid and available",
        "operationId": "getAppointmentConfirm",
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Confirm_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Appointment"
        ],
        "summary": "PUT Appointment/Confirm/{conceptId}",
        "description": "Confirm the concept appointment by concept ID. If operation was successful the back-end will change the appointment of the traced shiptment. This is the final step of the change appointment flow.",
        "operationId": "putAppointmentConfirmByConceptId",
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Concept_Address_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Appointment/Timewindow": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mxtt_traceinfo"
        }
      ],
      "get": {
        "tags": [
          "Appointment"
        ],
        "summary": "GET Appointment/Timewindow",
        "description": "Get current requested timewindow status for the delivery or pickup address of the traced shipment.",
        "operationId": "getAppointmentTimewindow",
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Timewindow_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Appointment/Timewindow/Status": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mxtt_traceinfo"
        }
      ],
      "put": {
        "tags": [
          "Appointment"
        ],
        "summary": "PUT Appointment/Timewindow/Status",
        "description": "Change the current requested timewindow status for the delivery or pickup address of the traced shipment.",
        "operationId": "putAppointmentTimewindowStatus",
        "requestBody": {
          "description": "The requested time-window status to set for the shipment.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Timewindow_Status"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Timewindow_Status"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Goods": {
      "get": {
        "tags": [
          "Goods"
        ],
        "summary": "GET Goods",
        "description": "Get list of all goods that are part of the traced shipment",
        "operationId": "getGoods",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_GoodList_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Goods/{goodId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/mxtt_traceinfo"
        },
        {
          "in": "path",
          "name": "goodId",
          "schema": {
            "type": "integer"
          },
          "required": true,
          "description": "Good ID of good",
          "example": 622
        }
      ],
      "get": {
        "tags": [
          "Goods"
        ],
        "summary": "GET Goods/{goodId}",
        "description": "Get good by good ID from a traced shipment",
        "operationId": "getGoodsByGoodId",
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Good_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Milestones": {
      "get": {
        "tags": [
          "Milestones"
        ],
        "summary": "GET Milestones",
        "description": "Get all milestones forming a timeline of the traced shipment",
        "operationId": "getMilestones",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_MilestoneList_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Traces": {
      "get": {
        "tags": [
          "Traces"
        ],
        "summary": "GET Traces",
        "description": "Get all scan traces for all goods of the traced shipment",
        "operationId": "getTraces",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_TraceList_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Liveroute": {
      "get": {
        "tags": [
          "Liveroute"
        ],
        "summary": "GET Liveroute",
        "description": "Get live position information of the driver who is performing the traced shipment",
        "operationId": "getLiveroute",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Liveroute_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Liveroute/Operator": {
      "get": {
        "tags": [
          "Liveroute"
        ],
        "summary": "GET Liveroute/Operator",
        "description": "Get details (name and photo) of the driver and co-driver performing the traced shipment.",
        "operationId": "getLiverouteOperator",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Liveroute_Operator_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/Payment/Mollie/Url": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "POST Payment/Mollie/Url",
        "description": "Start a payment process as part of changing the appointment using Mollie",
        "operationId": "getPaymentMollieUrl",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "requestBody": {
          "description": "Request should contain the concept ID of the new appointment and return URL for the Mollie webhook.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TEoTrackAndTrace_Payment_Mollie_Url_Request"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Payment_Mollie_Url_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    },
    "/TaskInstruction": {
      "get": {
        "tags": [
          "TaskInstruction"
        ],
        "summary": "GET TaskInstruction",
        "description": "Get task instruction for the pick-up or delivery address.",
        "operationId": "getTaskInstruction",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_TaskInstructions_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "TaskInstruction"
        ],
        "summary": "PUT TaskInstruction",
        "description": "Put a new task instruction for the pick-up or delivery address.",
        "operationId": "putTaskInstruction",
        "parameters": [
          {
            "$ref": "#/components/parameters/mxtt_traceinfo"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TEoTrackAndTrace_TaskInstructions_Request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_TaskInstructions_Response_Put"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_400"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TEoTrackAndTrace_Error_Response_500"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "TEoTrackAndTrace_Address_Response": {
        "type": "object",
        "properties": {
          "Address": {
            "type": "object",
            "properties": {
              "Place": {
                "type": "string",
                "example": "Kaatsheuvel"
              },
              "Premise": {
                "type": "string",
                "example": "Sprookjesbos"
              },
              "Street": {
                "type": "string",
                "example": "Europalaan"
              },
              "Latitude": {
                "type": "string",
                "nullable": true,
                "example": "51.659771"
              },
              "Country": {
                "type": "string",
                "example": "Nederland"
              },
              "Longitude": {
                "type": "string",
                "example": "5.0333",
                "nullable": true
              },
              "Mobile": {
                "type": "string",
                "example": "612345678"
              },
              "Email": {
                "type": "string",
                "example": "voorbeeld@mail.nl"
              },
              "Name": {
                "type": "string",
                "example": "Efteling"
              },
              "Number": {
                "type": "string",
                "example": "1"
              },
              "PostalCode": {
                "type": "string",
                "example": "5171KW"
              },
              "Contact": {
                "type": "string",
                "example": "Pardoes"
              }
            }
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Address_Response"
          },
          "taskType": {
            "$ref": "#/components/schemas/EnumTaskType"
          }
        }
      },
      "TEoTrackAndTrace_Appointment_Response": {
        "type": "object",
        "properties": {
          "Appointment": {
            "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment"
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Appointment_Response"
          }
        }
      },
      "TEoTrackAndTrace_Appointment_PlanDateList_Response": {
        "type": "object",
        "properties": {
          "PlanDates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_PlanDate"
            }
          },
          "CurrentPlanDateId": {
            "type": "integer",
            "example": 123
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Appointment_PlanDateList_Response"
          }
        }
      },
      "TEoTrackAndTrace_Appointment_PlanDate_Response": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Appointment_PlanDate_Response"
          },
          "PlanDate": {
            "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_PlanDate"
          }
        }
      },
      "TEoTrackAndTrace_Appointment_Concept_Address_Request": {
        "type": "object",
        "properties": {
          "Address": {
            "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Concept_Address"
          },
          "ConceptId": {
            "type": "integer",
            "example": 0
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Appointment_Concept_Address_Request"
          }
        }
      },
      "TEoTrackAndTrace_Appointment_Concept_Address_Response": {
        "type": "object",
        "properties": {
          "Status": {
            "description": "Result status. The value set depends on the operation: `EnumConceptAddressStatus` for POST /Appointment/Concept/Address, `EnumConceptPlanDateStatus` for POST /Appointment/Concept/Plandate, and `EnumConceptConfirmStatus` for PUT /Appointment/Confirm/{conceptId}.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/EnumConceptAddressStatus"
              },
              {
                "$ref": "#/components/schemas/EnumConceptPlanDateStatus"
              },
              {
                "$ref": "#/components/schemas/EnumConceptConfirmStatus"
              }
            ]
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Appointment_Concept_Address_Response"
          },
          "Concept": {
            "type": "object",
            "properties": {
              "Address": {
                "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Concept_Address"
              },
              "PlanDateId": {
                "type": "integer",
                "example": 123
              },
              "MomentTo": {
                "type": "string",
                "nullable": true,
                "format": "date-time",
                "example": "2022-10-19T16:00:00+02:00"
              },
              "MomentFrom": {
                "type": "string",
                "nullable": true,
                "format": "date-time",
                "example": "2022-10-19T16:30:00+02:00"
              },
              "Expire": {
                "type": "string",
                "nullable": true,
                "format": "date-time",
                "example": "2022-10-24T11:45:57+02:00"
              },
              "Valid": {
                "type": "boolean",
                "example": false
              },
              "ConceptId": {
                "type": "integer",
                "example": 176
              },
              "ExtraCost": {
                "type": "number",
                "example": 10.42
              }
            }
          }
        }
      },
      "TEoTrackAndTrace_Appointment_Concept_PlanDate_Request": {
        "type": "object",
        "properties": {
          "PlanDateId": {
            "type": "integer",
            "example": 122
          },
          "ConceptId": {
            "type": "integer",
            "example": 176
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Appointment_Concept_PlanDate_Request"
          }
        }
      },
      "TEoTrackAndTrace_Appointment_Confirm_Response": {
        "type": "object",
        "properties": {
          "Status": {
            "$ref": "#/components/schemas/EnumConceptConfirmStatus"
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Appointment_Confirm_Response"
          }
        }
      },
      "TEoTrackAndTrace_Appointment_Timewindow_Response": {
        "type": "object",
        "properties": {
          "RequestedTimewindowStatus": {
            "$ref": "#/components/schemas/EnumRequestedTimewindowStatus"
          },
          "MomentTo": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": "2022-10-21T10:18:20+02:00"
          },
          "MomentFrom": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": "2022-10-21T09:08:00+02:00"
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Appointment_Timewindow_Response"
          }
        }
      },
      "TEoTrackAndTrace_Appointment_PlanDate": {
        "type": "object",
        "properties": {
          "Available": {
            "type": "boolean",
            "example": true
          },
          "PlanDateId": {
            "type": "integer",
            "example": 31
          },
          "MomentTo": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": "2022-10-25T21:00:00+02:00"
          },
          "Attributes": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "MomentFrom": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": "2022-10-25T16:00:00+02:00"
          },
          "ExtraCost": {
            "type": "number",
            "example": 10.42
          }
        }
      },
      "TEoTrackAndTrace_Appointment": {
        "type": "object",
        "properties": {
          "Address": {
            "$ref": "#/components/schemas/TEoTrackAndTrace_Appointment_Address"
          },
          "RequestedTimewindowStatus": {
            "type": "string",
            "example": "E_REQUESTED_TIME_WINDOW_STATUS_NONE"
          },
          "MomentTo": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": "2022-10-21T10:18:20+02:00"
          },
          "MomentFrom": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": "2022-10-21T09:08:00+02:00"
          },
          "Replannable": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "TEoTrackAndTrace_Appointment_Address": {
        "type": "object",
        "properties": {
          "Place": {
            "type": "string",
            "example": "Kaatsheuvel"
          },
          "Premise": {
            "type": "string",
            "example": "Sprookjesbos"
          },
          "Street": {
            "type": "string",
            "example": "Europalaan"
          },
          "Country": {
            "type": "string",
            "example": "Nederland"
          },
          "Mobile": {
            "type": "string",
            "example": "612345678"
          },
          "Email": {
            "type": "string",
            "example": "Efteling@Example.com"
          },
          "Name": {
            "type": "string",
            "example": "Efteling"
          },
          "Number": {
            "type": "string",
            "example": "1"
          },
          "PostalCode": {
            "type": "string",
            "example": "5171KW"
          }
        }
      },
      "TEoTrackAndTrace_Appointment_Timewindow_Status": {
        "type": "object",
        "properties": {
          "RequestedTimewindowStatus": {
            "$ref": "#/components/schemas/EnumRequestedTimewindowStatus"
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Appointment_Timewindow_Status"
          }
        }
      },
      "TEoTrackAndTrace_GoodList_Response": {
        "type": "object",
        "properties": {
          "Goods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TEoTrackAndTrace_Good"
            }
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_GoodList_Response"
          }
        }
      },
      "TEoTrackAndTrace_Good_Response": {
        "type": "object",
        "properties": {
          "Good": {
            "$ref": "#/components/schemas/TEoTrackAndTrace_Good"
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Good_Response"
          }
        }
      },
      "TEoTrackAndTrace_Good": {
        "type": "object",
        "properties": {
          "Comment": {
            "type": "string",
            "example": "Inhoud met toverstokjes"
          },
          "StatusText": {
            "type": "string",
            "example": "in behandeling"
          },
          "Adr": {
            "type": "string",
            "example": "20"
          },
          "Weight": {
            "type": "number",
            "nullable": true,
            "example": 1.2
          },
          "Barcode": {
            "type": "string",
            "example": "MXBARCODE12345"
          },
          "Various": {
            "type": "string",
            "example": "diversen"
          },
          "LoadMeters": {
            "type": "number",
            "nullable": true,
            "example": 2.5
          },
          "VolumeWeight": {
            "type": "number",
            "nullable": true,
            "example": 1.5
          },
          "StatusSucces": {
            "type": "boolean",
            "nullable": true,
            "example": true
          },
          "Amount": {
            "type": "integer",
            "nullable": true,
            "example": 5
          },
          "Width": {
            "type": "number",
            "nullable": true,
            "example": 0.5
          },
          "Id": {
            "type": "integer",
            "example": 622,
            "format": "int64"
          },
          "TemperatureMin": {
            "type": "number",
            "nullable": true,
            "example": 5
          },
          "TemperatureMax": {
            "type": "number",
            "nullable": true,
            "example": 55
          },
          "Volume": {
            "type": "number",
            "nullable": true,
            "example": 1.5
          },
          "Packing": {
            "type": "string",
            "example": "Doos"
          },
          "Depth": {
            "type": "number",
            "nullable": true,
            "example": 0.4
          },
          "Height": {
            "type": "number",
            "nullable": true,
            "example": 0.2
          },
          "PackagingSymbols": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TEoTrackAndTrace_PackingSymbol"
            }
          }
        }
      },
      "TEoTrackAndTrace_PackingSymbol": {
        "type": "object",
        "properties": {
          "Icon": {
            "type": "integer",
            "example": 123
          }
        }
      },
      "TEoTrackAndTrace_MilestoneList_Response": {
        "type": "object",
        "properties": {
          "Milestones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TEoTrackAndTrace_Milestone"
            }
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_MilestoneList_Response"
          }
        }
      },
      "TEoTrackAndTrace_Milestone": {
        "type": "object",
        "properties": {
          "StatusCode": {
            "$ref": "#/components/schemas/EnumMilestoneStatusCode"
          },
          "StatusSummary": {
            "$ref": "#/components/schemas/TEoTrackAndTrace_MileStone_StatusSummary"
          },
          "SubMileStones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TEoTrackAndTrace_SubMilestone"
            }
          },
          "CompletionStatusCode": {
            "$ref": "#/components/schemas/EnumMilestoneCompletionStatusCode"
          },
          "SortId": {
            "type": "integer",
            "example": 1
          },
          "Name": {
            "$ref": "#/components/schemas/EnumMilestoneName"
          },
          "CustomName": {
            "type": "string",
            "example": ""
          }
        }
      },
      "TEoTrackAndTrace_MileStone_StatusSummary": {
        "type": "object",
        "properties": {
          "ContactSigned": {
            "type": "string",
            "example": "Pardoes"
          },
          "MimeType": {
            "type": "string",
            "example": "image/png"
          },
          "Consignor": {
            "type": "string",
            "example": "JJ-Tech"
          },
          "MomentRtd": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": null
          },
          "MomentRta": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": null
          },
          "MomentPtd": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": "2022-10-19T16:00:00+02:00"
          },
          "MomentPta": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": "2022-10-19T14:00:00+02:00"
          },
          "MomentAtd": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": null
          },
          "MomentAta": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": null
          },
          "Signature": {
            "type": "string",
            "example": "<Base64 string>"
          },
          "OrderMoment": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": "2022-10-18T08:58:20+02:00"
          }
        }
      },
      "TEoTrackAndTrace_SubMilestone": {
        "type": "object",
        "properties": {
          "Name": {
            "$ref": "#/components/schemas/EnumMilestoneSubMilestoneName"
          }
        }
      },
      "TEoTrackAndTrace_TraceList_Response": {
        "type": "object",
        "properties": {
          "Traces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TEoTrackAndTrace_Trace"
            }
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_TraceList_Response"
          }
        }
      },
      "TEoTrackAndTrace_Trace": {
        "type": "object",
        "properties": {
          "Description": {
            "type": "string",
            "example": "Aangemeld"
          },
          "Status": {
            "$ref": "#/components/schemas/EnumTraceStatus"
          },
          "Goods": {
            "type": "array",
            "items": {
              "type": "integer",
              "example": 622
            }
          },
          "Moment": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "example": "2022-10-19T12:18:57+02:00"
          }
        }
      },
      "TEoTrackAndTrace_Liveroute_Response": {
        "type": "object",
        "properties": {
          "Liveroute": {
            "$ref": "#/components/schemas/TEoTrackAndTrace_Liveroute"
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Liveroute_Response"
          }
        }
      },
      "TEoTrackAndTrace_Liveroute": {
        "type": "object",
        "properties": {
          "NextStop": {
            "type": "integer",
            "nullable": true,
            "example": 1
          },
          "Latitude": {
            "type": "string",
            "example": "51.659771"
          },
          "Longitude": {
            "type": "string",
            "example": "5.0333"
          },
          "YourStop": {
            "type": "integer",
            "nullable": true,
            "example": 5
          }
        }
      },
      "TEoTrackAndTrace_Liveroute_Operator_Response": {
        "type": "object",
        "properties": {
          "OperatorSub": {
            "type": "object",
            "properties": {
              "Photo": {
                "type": "string",
                "example": "<base64 string>"
              },
              "Name": {
                "type": "string",
                "example": "Pieter Post"
              }
            }
          },
          "Operator": {
            "type": "object",
            "properties": {
              "Photo": {
                "type": "string",
                "example": "<base64 string>"
              },
              "Name": {
                "type": "string",
                "example": "K. Bouter"
              }
            }
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Liveroute_Operator_Response"
          }
        }
      },
      "TEoTrackAndTrace_Payment_Mollie_Url_Request": {
        "type": "object",
        "properties": {
          "ConceptId": {
            "type": "integer",
            "example": 123
          },
          "ReturnUrl": {
            "type": "string",
            "example": "http://ExampleHostname/TrackAndTrace/tnt?ConceptId=123&pending=true&mollieRedirect=true"
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Payment_Mollie_Url_Request"
          }
        }
      },
      "TEoTrackAndTrace_Payment_Mollie_Url_Response": {
        "type": "object",
        "properties": {
          "MolliePaymentUrl": {
            "type": "string",
            "example": "<Mollie-checkout-URL>"
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Payment_Mollie_Url_Response"
          }
        }
      },
      "TEoTrackAndTrace_TaskInstructions_Response": {
        "type": "object",
        "properties": {
          "Instructions": {
            "type": "string",
            "example": "The doorbell is broken, please knock instead."
          },
          "Changeable": {
            "type": "boolean",
            "example": true
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_TaskInstructions_Response"
          }
        }
      },
      "TEoTrackAndTrace_TaskInstructions_Request": {
        "type": "object",
        "properties": {
          "Instructions": {
            "type": "string",
            "example": "The doorbell is broken, please knock instead."
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_TaskInstructions_Request"
          }
        }
      },
      "TEoTrackAndTrace_TaskInstructions_Response_Put": {
        "type": "object",
        "properties": {
          "Instructions": {
            "type": "string",
            "example": "The doorbell is broken, please knock instead."
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_TaskInstructions_Response_Put"
          }
        }
      },
      "TEoTrackAndTrace_Error_Response_400": {
        "type": "object",
        "properties": {
          "Msg": {
            "type": "string",
            "example": "A descriptive error message"
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Error_Response"
          },
          "Code": {
            "type": "integer",
            "example": 400
          }
        }
      },
      "TEoTrackAndTrace_Error_Response_500": {
        "type": "object",
        "properties": {
          "Msg": {
            "type": "string",
            "example": "Internal server error An unexpected [Exception] error has occurred. Please refer to the logs for more information"
          },
          "type": {
            "type": "string",
            "example": "TEoTrackAndTrace_Error_Response"
          },
          "Code": {
            "type": "integer",
            "example": 500
          }
        }
      },
      "EnumTaskType": {
        "type": "string",
        "enum": [
          "E_ADDRESS_TASKTYPE_GET",
          "E_ADDRESS_TASKTYPE_BRING",
          "E_ADDRESS_TASKTYPE_UNIVERSAL"
        ]
      },
      "EnumMilestoneStatusCode": {
        "type": "string",
        "enum": [
          "E_MILESTONES_STATUSCODE_COMPLETED",
          "E_MILESTONES_STATUSCODE_INACTIVE",
          "E_MILESTONES_STATUSCODE_ACTIVE"
        ]
      },
      "EnumMilestoneCompletionStatusCode": {
        "type": "string",
        "enum": [
          "E_MILESTONES_COMPLETION_STATUSCODE_SUCCES",
          "E_MILESTONES_COMPLETION_STATUSCODE_UNSUCCESSFUL",
          "E_MILESTONES_COMPLETION_STATUSCODE_PARTIALLY_SUCCESSFUL"
        ]
      },
      "EnumMilestoneName": {
        "type": "string",
        "enum": [
          "E_MILESTONES_NAME_REGISTERED",
          "E_MILESTONES_NAME_INTRANSIT",
          "E_MILESTONES_NAME_DELIVERED",
          "E_MILESTONES_NAME_PICKEDUP",
          "E_MILESTONES_NAME_UNIVERSAL"
        ]
      },
      "EnumMilestoneSubMilestoneName": {
        "type": "string",
        "enum": [
          "E_SUBMILESTONES_NAME_NOT_HOME",
          "E_SUBMILESTONES_NAME_NOT_REJECTED",
          "E_SUBMILESTONES_NAME_INVALID_NAW",
          "E_SUBMILESTONES_NAME_INCOMPLETE",
          "E_SUBMILESTONES_NAME_MISSING"
        ],
        "description": "Sub-milestone name. Besides the fixed values, the backend may emit an open-ended `E_SUBMILESTONES_NAME_UNIVERSAL_<STATUS>` value built from a custom status name."
      },
      "EnumTraceStatus": {
        "type": "string",
        "enum": [
          "E_TRACE_IN_PROCESS",
          "E_TRACE_SUCCESSFUL",
          "E_TRACE_UNSUCCESSFUL",
          "E_TRACE_NA"
        ]
      },
      "EnumConceptConfirmStatus": {
        "type": "string",
        "enum": [
          "E_CONCEPT_CONFIRM_STATUS_OK",
          "E_CONCEPT_CONFIRM_STATUS_OK_PAYMENT_PAID",
          "E_CONCEPT_CONFIRM_STATUS_INVALID_EXPIRED",
          "E_CONCEPT_CONFIRM_STATUS_INVALID_ADDRESS",
          "E_CONCEPT_CONFIRM_STATUS_INVALID_PLANDATE",
          "E_CONCEPT_CONFIRM_STATUS_OK_PAYMENT_NEEDED",
          "E_CONCEPT_CONFIRM_STATUS_OK_PAYMENT_PENDING",
          "E_CONCEPT_CONFIRM_STATUS_OK_PAYMENT_FAILED",
          "E_CONCEPT_CONFIRM_STATUS_FAILURE"
        ]
      },
      "EnumRequestedTimewindowStatus": {
        "type": "string",
        "enum": [
          "E_REQUESTED_TIME_WINDOW_STATUS_NONE",
          "E_REQUESTED_TIME_WINDOW_STATUS_BY_CLIENT",
          "E_REQUESTED_TIME_WINDOW_STATUS_BY_PLANNER",
          "E_REQUESTED_TIME_WINDOW_STATUS_ACCEPTED_BY_CLIENT",
          "E_REQUESTED_TIME_WINDOW_STATUS_ACCEPTED_BY_PLANNER",
          "E_REQUESTED_TIME_WINDOW_STATUS_CANCELLED_BY_CLIENT",
          "E_REQUESTED_TIME_WINDOW_STATUS_CANCELLED_BY_PLANNER"
        ]
      },
      "TEoTrackAndTrace_Appointment_Concept_Address": {
        "type": "object",
        "description": "Appointment address for a concept, including an optional contact person.",
        "properties": {
          "Place": {
            "type": "string",
            "example": "Kaatsheuvel"
          },
          "Premise": {
            "type": "string",
            "example": "Sprookjesbos"
          },
          "Street": {
            "type": "string",
            "example": "Europalaan"
          },
          "Country": {
            "type": "string",
            "example": "Nederland"
          },
          "Mobile": {
            "type": "string",
            "example": "612345678"
          },
          "Email": {
            "type": "string",
            "example": "Efteling@Example.com"
          },
          "Name": {
            "type": "string",
            "example": "Efteling"
          },
          "Number": {
            "type": "string",
            "example": "1"
          },
          "PostalCode": {
            "type": "string",
            "example": "5171KW"
          },
          "Contact": {
            "type": "string",
            "example": "Pardoes"
          }
        }
      },
      "EnumConceptAddressStatus": {
        "type": "string",
        "description": "Status returned when submitting a concept address.",
        "enum": [
          "E_CONCEPT_ADDRESS_STATUS_OK",
          "E_CONCEPT_ADDRESS_STATUS_INVALID"
        ]
      },
      "EnumConceptPlanDateStatus": {
        "type": "string",
        "description": "Status returned when submitting a concept plandate.",
        "enum": [
          "E_CONCEPT_PLANDATE_STATUS_OK",
          "E_CONCEPT_PLANDATE_STATUS_INVALID"
        ]
      }
    },
    "parameters": {
      "mxtt_traceinfo": {
        "in": "cookie",
        "name": "mxtt_traceinfo",
        "required": true,
        "schema": {
          "type": "string",
          "example": "Base64 string formatted Traceinfo",
          "description": "Base64 string formatted Traceinfo"
        }
      }
    },
    "securitySchemes": {
      "mxtt_traceinfo": {
        "type": "apiKey",
        "in": "cookie",
        "name": "mxtt_traceinfo",
        "description": "Base64-encoded JSON trace session cookie issued by the trace session entry point. See the Authentication section."
      }
    }
  },
  "servers": [
    {
      "url": "https://{client}.mendrix.cloud/WorldLink/TrackAndTrace/v1",
      "description": "Track & Trace v1 data endpoints",
      "variables": {
        "client": {
          "default": "your-client-name",
          "description": "The client name assigned by MendriX (no api. prefix for this API)."
        }
      }
    }
  ],
  "security": [
    {
      "mxtt_traceinfo": []
    }
  ]
}
