{ "openapi": "3.0.1", "info": { "title": "eConnect API", "contact": { "name": "Leanetec GmbH", "url": "https://www.leanetec.com", "email": "support@leanetec.com" }, "version": "v1" }, "paths": { "/api/v1/alive": { "get": { "tags": [ "Alive" ], "summary": "Returns simple 200 result without content while the application is up", "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/alive/is-user": { "get": { "tags": [ "Alive" ], "summary": "Returns simple 200 result without content while the application is up\r\nand the logged in user is a normal user.", "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/alive/is-admin": { "get": { "tags": [ "Alive" ], "summary": "Returns simple 200 result without content while the application is up\r\nand the logged in user is an admin user.", "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/article": { "get": { "tags": [ "Article" ], "summary": "Get a list of all business partner articles that exist", "parameters": [ { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } }, { "name": "isActive", "in": "query", "description": "Flag to get an (in-)active subset of articles", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/BpArticleResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "post": { "tags": [ "Article" ], "summary": "Create a new article for your business partner", "requestBody": { "description": "Object which represents the new article", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BpArticleDto" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "integer", "format": "int32" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/article/{articleId}": { "get": { "tags": [ "Article" ], "summary": "Get a specific business partner article based on the article id", "description": "Please note that the returned article may be inactive.", "parameters": [ { "name": "articleId", "in": "path", "description": "Unique ID of the article", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BpArticleResult" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "put": { "tags": [ "Article" ], "summary": "Update an article identified by the article id", "parameters": [ { "name": "articleId", "in": "path", "description": "Id of the article to update", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "requestBody": { "description": "Object which holds data for updating the article", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BpArticleDto" } } }, "required": true }, "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } }, "delete": { "tags": [ "Article" ], "summary": "Delete the article with the given article id", "parameters": [ { "name": "articleId", "in": "path", "description": "Article id of the article to delete", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/article/{articleId}/referenced": { "get": { "tags": [ "Article" ], "summary": "Checks if the article is referenced by any tenant", "parameters": [ { "name": "articleId", "in": "path", "description": "ID of the article of check for references", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "boolean" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/internal/v1/article/{businessPartnerId}": { "get": { "tags": [ "Article" ], "summary": "Internal route to get articles of a specific business partner", "parameters": [ { "name": "businessPartnerId", "in": "path", "description": "ID of the business parter", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } }, { "name": "isActive", "in": "query", "description": "Flag to get an (in-)active subset of articles", "schema": { "type": "boolean" } }, { "name": "isDeleted", "in": "query", "description": "Flag to get an (non-)deleted subset of articles", "schema": { "type": "boolean" } }, { "name": "salesServiceCategoryId", "in": "query", "description": "Filter articles based on a specific sales service category", "schema": { "type": "integer", "format": "int32" } }, { "name": "uomId", "in": "query", "description": "Filter articles based on a unit of measurement", "schema": { "type": "integer", "format": "int32" } }, { "name": "ewcWasteTypeCode", "in": "query", "description": "Filter articles based on the selected waste type (only applicable to waste disposal service category)", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/InternalBpArticleResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/internal/v1/article/{businessPartnerId}/{articleCode}": { "get": { "tags": [ "Article" ], "summary": "Internal route to get a specific business partner article based on the article code", "description": "This will only search for and return active and non-deleted articles.", "parameters": [ { "name": "businessPartnerId", "in": "path", "description": "ID of the business parter", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "articleCode", "in": "path", "description": "Article code of the article to get", "required": true, "schema": { "type": "string" } }, { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InternalBpArticleResult" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/article-sales-service-category": { "get": { "tags": [ "ArticleSalesServiceCategory" ], "summary": "Get a list of article relevant sales service categories", "parameters": [ { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ArticleSalesServiceCategoryResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/aval": { "get": { "tags": [ "Aval" ], "summary": "Gets a list of aval containers with volume information", "parameters": [ { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AvalContainerResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/business-partner/self": { "get": { "tags": [ "BusinessPartner" ], "summary": "Gets information about the currently assigned business partner", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetSelfBusinessPartnerResult" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order/document/list": { "get": { "tags": [ "Documents" ], "summary": "Gets a list of all known documents of a service order", "parameters": [ { "name": "tenantId", "in": "query", "description": "The unique id of the tenant", "required": true, "schema": { "type": "string" } }, { "name": "orderId", "in": "query", "description": "The unique id of the service order", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ListOrderDocumentsResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Server Error" } } } }, "/api/v1/order/document": { "get": { "tags": [ "Documents" ], "summary": "Downloads a document of a service order with the given document id", "parameters": [ { "name": "tenantId", "in": "query", "description": "The unique id of the tenant", "required": true, "schema": { "type": "string" } }, { "name": "orderId", "in": "query", "description": "The unique id of the service order", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "documentId", "in": "query", "description": "The unique id of the document to delete", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/octet-stream": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Server Error" } } }, "post": { "tags": [ "Documents" ], "summary": "Uploads a new document for the service order", "parameters": [ { "name": "tenantId", "in": "query", "description": "The unique id of the tenant", "required": true, "schema": { "type": "string" } }, { "name": "orderId", "in": "query", "description": "The unique id of the service order", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "file" ], "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } }, "encoding": { "file": { "style": "form" } } } } }, "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Server Error" } } }, "delete": { "tags": [ "Documents" ], "summary": "Deletes a document of a service order with the given document id", "description": "The document can not be deleted, if the related service order is already set to status \"Completed\"", "parameters": [ { "name": "tenantId", "in": "query", "description": "The unique id of the tenant", "required": true, "schema": { "type": "string" } }, { "name": "orderId", "in": "query", "description": "The unique id of the service order", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "documentId", "in": "query", "description": "The unique id of the document to delete", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "boolean" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Server Error" } } } }, "/api/v1/notification/{notificationId}/{actionType}": { "get": { "tags": [ "Notification" ], "parameters": [ { "name": "notificationId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "actionType", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "actionData", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/action": { "get": { "tags": [ "NotificationEmail" ], "parameters": [ { "name": "notificationAction", "in": "query", "schema": { "type": "string" } }, { "name": "notificationData", "in": "query", "schema": { "type": "string" } }, { "name": "notificationId", "in": "query", "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success" } } } }, "/api/identity/unsubscribe": { "get": { "tags": [ "NotificationEmail" ], "parameters": [ { "name": "u", "in": "query", "schema": { "type": "string" } }, { "name": "e", "in": "query", "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success" } } } }, "/api/v1/notification-settings": { "get": { "tags": [ "NotificationSettings" ], "summary": "Gets notification settings", "parameters": [ { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GetNotificationSettingsResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/notification-settings/email": { "put": { "tags": [ "NotificationSettings" ], "summary": "Updates the \"email\" value for a specific event", "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutEmailNotificationSettingsRequest" } } }, "required": true }, "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/notification-settings/web": { "put": { "tags": [ "NotificationSettings" ], "summary": "Updates the \"web\" value for a specific event", "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PutWebNotificationSettingsRequest" } } }, "required": true }, "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order": { "get": { "tags": [ "Order" ], "summary": "Gets a list of all orders for all available tenants", "parameters": [ { "name": "status[]", "in": "query", "description": "Get order with any of the given status ids", "schema": { "type": "array", "items": { "type": "integer", "format": "int32" } } }, { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OrderResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order/table": { "post": { "tags": [ "Order" ], "summary": "Gets a paginated subset of orders for all available tenants", "parameters": [ { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "requestBody": { "description": "Objet containing relevant server-side table parameters", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderTableRequestFilterServerSideTableQuery" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderResultServerSideTableResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order/{tenantNumber}/{orderId}": { "get": { "tags": [ "Order" ], "summary": "Gets a single order including the articles (order lines)", "parameters": [ { "name": "tenantNumber", "in": "path", "description": "Tenant number of the tenant the order originated from", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "orderId", "in": "path", "description": "Order ID within the tenant", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrderDetailResult" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order/{tenantNumber}/{orderId}/lines": { "get": { "tags": [ "Order" ], "summary": "Gets the articles (order lines) of a specific order", "parameters": [ { "name": "tenantNumber", "in": "path", "description": "Tenant number of the tenant the order originated from", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "orderId", "in": "path", "description": "Order ID within the tenant", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "bookingId", "in": "query", "description": "Booking ID within the tenant", "required": true, "schema": { "type": "integer", "format": "int64" } }, { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OrderLineResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order/{tenantNumber}/{orderId}/confirm": { "put": { "tags": [ "Order" ], "summary": "Sets an order as \"Confirmed\"", "description": "This only works for orders in status \"pending\" and \"pending confirmation\".", "parameters": [ { "name": "tenantNumber", "in": "path", "description": "Tenant number of the tenant the order originated from", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "orderId", "in": "path", "description": "Order ID within the tenant", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "Details about the confirmed quantity of each order line", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ConfirmOrderPayload" } } } } }, "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order/{tenantNumber}/{orderId}/cancel": { "delete": { "tags": [ "Order" ], "summary": "Sets an order as \"Cancelled\"", "description": "This only works for order in status \"pending\", \"pending confirmation\" and \"confirmed\"\r\nwhile the related booking has not started yet.", "parameters": [ { "name": "tenantNumber", "in": "path", "description": "Tenant number of the tenant the order originated from", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "orderId", "in": "path", "description": "Order ID within the tenant", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order/{tenantNumber}/{orderId}/complete": { "put": { "tags": [ "Order" ], "summary": "Sets an order as \"Completed\"", "description": "This only works for orders in status \"confirmed\".", "parameters": [ { "name": "tenantNumber", "in": "path", "description": "Tenant number of the tenant the order originated from", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "orderId", "in": "path", "description": "Order ID within the tenant", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "description": "Details about the actually delivered quantities", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CompleteOrderPayload" } } }, "required": true }, "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order/{tenantNumber}/{orderId}/reset": { "put": { "tags": [ "Order" ], "summary": "Resets the status of the order under certain conditions", "parameters": [ { "name": "tenantNumber", "in": "path", "description": "Tenant number of the tenant the order originated from", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "orderId", "in": "path", "description": "Order ID within the tenant", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success" }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order/{tenantNumber}/{orderId}/delivery/estimated": { "put": { "tags": [ "Order" ], "parameters": [ { "name": "tenantNumber", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "orderId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateEstimatedDeliveryPayload" } } }, "required": true }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "string", "format": "date-time" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order/{tenantNumber}/{orderId}/articles": { "get": { "tags": [ "Order" ], "parameters": [ { "name": "tenantNumber", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "orderId", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/order-status": { "get": { "tags": [ "OrderStatus" ], "summary": "Gets a list of possible service orders states", "parameters": [ { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OrderStatusResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/tenant": { "get": { "tags": [ "Tenant" ], "summary": "Gets a list of tenants that are currently available for the service provider", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TenantResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/tenant-berth": { "get": { "tags": [ "TenantBerth" ], "summary": "Gets a list of berths a specific tenant, with location details", "parameters": [ { "name": "tenantNumber", "in": "query", "description": "tenant number of the customer to read out the data of the berths from this tenant", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "isBookable", "in": "query", "description": "is bookable to filter the list", "schema": { "type": "boolean" } }, { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TenantBerthWithLocationDetailResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/tenant-berth/locations": { "get": { "tags": [ "TenantBerth" ], "summary": "Gets a list of locations based on available berths of a specific tenant", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/BerthLocationResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/uom": { "get": { "tags": [ "Uom" ], "summary": "Gets a list of units of measurement", "parameters": [ { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UnitOfMeasurementsResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/waste": { "get": { "tags": [ "Waste" ], "summary": "Gets a list of existing waste types", "parameters": [ { "name": "languageCode", "in": "query", "description": "The language code for localisation", "schema": { "type": "string" } }, { "name": "isActive", "in": "query", "description": "Flag to get an (in-)active subset of waste types", "schema": { "type": "boolean" } }, { "name": "isVisible", "in": "query", "description": "Flag to get an (in-)visible subset of waste types", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/WasteTypeResult" } } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } } }, "components": { "schemas": { "ArticleSalesServiceCategoryResult": { "required": [ "article_sales_service_category_desc", "article_sales_service_category_id", "article_sales_service_category_name", "is_active", "is_econnect" ], "type": "object", "properties": { "article_sales_service_category_id": { "type": "integer", "description": "The unique article sales service category id of the article.", "format": "int32" }, "article_sales_service_category_type": { "type": "string", "description": "The unique type of the article sales service category as defined in the generic type list system table.", "nullable": true }, "article_sales_service_category_name": { "minLength": 1, "type": "string", "description": "The name of the article sales service category." }, "article_sales_service_category_desc": { "minLength": 1, "type": "string", "description": "The description of the article sales service category." }, "is_active": { "type": "boolean", "description": "Boolean value to indicate that this is a currently active (valid) entry." }, "is_econnect": { "type": "boolean", "description": "Boolean value to indicate that entries with this flag are available in the eConnect portal." } }, "additionalProperties": false, "description": "Object which contains the result from getting available article service categories" }, "AvalContainerResult": { "required": [ "aval_cntr_type_name", "aval_data_version", "aval_id", "aval_id_part", "aval_volume_results" ], "type": "object", "properties": { "aval_id": { "minLength": 1, "type": "string", "description": "Full AvaL id up to the container type" }, "aval_id_part": { "type": "integer", "description": "The unique partial id of the AvaL waste container type (PK includes the AvaL data/catalogue version).", "format": "int32" }, "aval_data_version": { "minLength": 1, "type": "string", "description": "The data version (catalogue version: AB.1) for which the AvaL waste container structure is valid (combined primary key)." }, "aval_cntr_type_name": { "minLength": 1, "type": "string", "description": "The language specific translations of the waste container type name.\r\nBy default the aval_cntr_type_name is used (fallback) but otherwise it is possible to get the description from this KEY = value array storage column type using the key (country_alpha2 = country_name)." }, "aval_volume_results": { "type": "array", "items": { "$ref": "#/components/schemas/AvalVolumeResult" }, "description": "Get all volumes that match a type range" } }, "additionalProperties": false, "description": "Object which contains the result from getting available AvaL containers" }, "AvalVolumeResult": { "type": "object", "properties": { "aval_id": { "type": "string", "description": "Full AvaL id combining the container type and volume, excluding container design", "nullable": true }, "aval_id_part": { "type": "integer", "description": "The unique partial id of the AvaL waste container type (PK includes the AvaL data/catalogue version).", "format": "int32" }, "aval_data_version": { "type": "string", "description": "The data version (catalogue version: AB.1) for which the AvaL waste container structure is valid (combined primary key).", "nullable": true }, "aval_cntr_volume_name": { "type": "string", "description": "Container and volume name using the containers abbreviation and the volume name", "nullable": true }, "is_selectable": { "type": "boolean", "description": "Boolean value to indicate that this is leaf element that can be selected by the user." } }, "additionalProperties": false, "description": "Object which contains information about a AvaL volume" }, "BerthLocationResult": { "type": "object", "properties": { "location_alpha5": { "type": "string", "description": "Alpha5 value representing the UN-Location", "nullable": true }, "location_name": { "type": "string", "description": "The name of the UN-Location", "nullable": true } }, "additionalProperties": false, "description": "Object which holds information about a UN-Location, based on the available berths of a tenant" }, "BpArticleDto": { "required": [ "article_code", "article_name", "article_sales_service_category_id", "is_active", "requires_transport_unit", "uom_id" ], "type": "object", "properties": { "article_name": { "minLength": 1, "type": "string", "description": "Name of the article" }, "article_desc": { "type": "string", "description": "Description of the article", "nullable": true }, "article_code": { "minLength": 1, "type": "string", "description": "Unique article code" }, "article_sales_service_category_id": { "type": "integer", "description": "Sales service category of this article", "format": "int32" }, "uom_id": { "type": "integer", "description": "Unit of measurement of this article", "format": "int32" }, "requires_transport_unit": { "type": "boolean", "description": "Indicator whether or not this articles uses transport units" }, "ewc_waste_type_code": { "type": "string", "description": "Code of the EWC waste type if this article is related to waste disposal", "nullable": true }, "ewc_waste_type_data_version": { "type": "string", "description": "Data version of the EWC waste type if this article is related to waste disposal", "nullable": true }, "is_active": { "type": "boolean", "description": "Indicator whether or not this article is active - inactive articles won't be selectable elsewhere in the application" }, "transport_units": { "type": "array", "items": { "type": "string" }, "description": "List of available transport units ids for this article", "nullable": true } }, "additionalProperties": false, "description": "Object which represents a service provider specific article" }, "BpArticleResult": { "required": [ "article_sales_service_category", "bp_article_code", "bp_article_id", "bp_article_name", "is_active", "requires_transport_unit", "uom" ], "type": "object", "properties": { "bp_article_id": { "type": "integer", "description": "The unique internal id of the article", "format": "int32" }, "bp_article_name": { "minLength": 1, "type": "string", "description": "Name of the article" }, "bp_article_desc": { "type": "string", "description": "Description of the article", "nullable": true }, "bp_article_code": { "minLength": 1, "type": "string", "description": "Unique service provider article code" }, "is_active": { "type": "boolean", "description": "Indicator whether or not this article is active - inactive articles won't be selectable elsewhere in the application" }, "requires_transport_unit": { "type": "boolean", "description": "Indicator whether or not this articles uses transport units" }, "article_sales_service_category": { "$ref": "#/components/schemas/BpArticleSalesServiceCategoryResult" }, "uom": { "$ref": "#/components/schemas/BpArticleUomResult" }, "waste_type": { "$ref": "#/components/schemas/BpArticleWasteTypeResult" }, "transport_units": { "type": "array", "items": { "$ref": "#/components/schemas/BpArticleTransportUnit" }, "description": "List of available transport units for this article", "nullable": true } }, "additionalProperties": false, "description": "Object wich contains information about a service provider article" }, "BpArticleSalesServiceCategoryResult": { "required": [ "article_sales_service_category_id", "article_sales_service_category_name" ], "type": "object", "properties": { "article_sales_service_category_id": { "type": "integer", "description": "The unique article sales service category id of the article.", "format": "int32" }, "article_sales_service_category_name": { "minLength": 1, "type": "string", "description": "The name of the article sales service category." } }, "additionalProperties": false, "description": "Object holding information about a sales service category of an article" }, "BpArticleTransportUnit": { "required": [ "aval_desc", "aval_id" ], "type": "object", "properties": { "aval_id": { "minLength": 1, "type": "string", "description": "The unique AvaL id of this transport unit" }, "aval_desc": { "minLength": 1, "type": "string", "description": "The description of this transport unit" } }, "additionalProperties": false, "description": "Represents a wrapper for transport units like AvaL containers" }, "BpArticleUomResult": { "required": [ "uom_abbreviation", "uom_id", "uom_name" ], "type": "object", "properties": { "uom_id": { "type": "integer", "description": "Unique internal id of the unit of measurement", "format": "int32" }, "uom_name": { "minLength": 1, "type": "string", "description": "Name of the unit of measurement" }, "uom_abbreviation": { "minLength": 1, "type": "string", "description": "Abbreviation of the units name" } }, "additionalProperties": false, "description": "Unit of measurement of an article" }, "BpArticleWasteTypeResult": { "required": [ "waste_type_code", "waste_type_data_version", "waste_type_desc" ], "type": "object", "properties": { "waste_type_code": { "minLength": 1, "type": "string", "description": "The unique code of the waste type in combination with the data version." }, "waste_type_data_version": { "minLength": 1, "type": "string", "description": "The data version for which the waste type id is valid (combined primary key)." }, "waste_type_desc": { "minLength": 1, "type": "string", "description": "The description of the waste type.\r\nThe language specific translations of the waste type description.\r\nBy default the waste_type_desc is used (fallback) but otherwise it is possible to get the description from this KEY = value array storage JsonPropertyName type using the key (country_alpha2 = country_name)." } }, "additionalProperties": false, "description": "Object holding information about the waste type of an article" }, "CompleteAddedArticle": { "type": "object", "properties": { "article_id": { "type": "integer", "description": "ID of the article as specified in the tenant schema (!)", "format": "int32" }, "article_spec_id": { "type": "integer", "description": "Article spec id of the added article", "format": "int32" }, "transport_unit_id": { "type": "integer", "description": "Transport unit to use for the added article", "format": "int32" }, "quantity": { "type": "number", "description": "Delivered quantity of the added article", "format": "double" }, "timestamp": { "type": "string", "description": "Article version timestamp to set for the added article", "format": "date-time" }, "article_code": { "type": "string", "description": "Business partner article code of the added article", "nullable": true }, "uom_id": { "type": "integer", "description": "Unit of measurement for the added article", "format": "int32" } }, "additionalProperties": false, "description": "Object which holds information required to add articles to an service order during the completion process" }, "CompleteOrderLine": { "type": "object", "properties": { "order_line_id": { "type": "integer", "description": "The unique id of the order line (article)", "format": "int64" }, "quantity_delivered": { "type": "number", "description": "Represents the amount of actually delivered articles", "format": "double" } }, "additionalProperties": false, "description": "Object which holds information required to set the delivered quantity of an article" }, "CompleteOrderPayload": { "type": "object", "properties": { "order_lines": { "type": "array", "items": { "$ref": "#/components/schemas/CompleteOrderLine" }, "description": "Existing order lines with maybe updated delivery quantities", "nullable": true }, "added_articles": { "type": "array", "items": { "$ref": "#/components/schemas/CompleteAddedArticle" }, "description": "Additional articles that were added by eConnect", "nullable": true } }, "additionalProperties": false, "description": "Object which holds information about articles within a service order about to be set\r\nas completed" }, "ConfirmOrderPayload": { "type": "object", "properties": { "order_line_id": { "type": "integer", "description": "The unique id of the order line (article)", "format": "int64" }, "quantity_confirmed": { "type": "number", "description": "Represents the amount of confirmed articles", "format": "double" } }, "additionalProperties": false, "description": "Object which holds information required to set the confirmed quantity of an article" }, "GetNotificationSettingsResult": { "type": "object", "properties": { "event_id": { "type": "integer", "format": "int32" }, "event_name": { "type": "string", "nullable": true }, "event_desc": { "type": "string", "nullable": true }, "event_notification_email": { "type": "boolean" }, "event_notification_web": { "type": "boolean" } }, "additionalProperties": false }, "GetSelfBusinessPartnerResult": { "type": "object", "properties": { "business_partner_name": { "type": "string", "description": "The name of the business partner", "nullable": true }, "vat_number": { "type": "string", "description": "The VAT number of the business partner", "nullable": true }, "tax_number": { "type": "string", "description": "The Tax number of the business partner", "nullable": true }, "telephone": { "type": "string", "description": "The telephone number of the business partner", "nullable": true }, "website": { "type": "string", "description": "The website url of the business partner", "nullable": true }, "email": { "type": "string", "description": "The email address of the business partner", "nullable": true } }, "additionalProperties": false, "description": "Object which holds information about the business partner a service provider is assigned to" }, "InternalBpArticleResult": { "type": "object", "properties": { "article_code": { "type": "string", "nullable": true }, "article_name": { "type": "string", "nullable": true }, "ewc_waste_type_code": { "type": "string", "nullable": true }, "is_active": { "type": "boolean" }, "is_deleted": { "type": "boolean" }, "transport_units": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "ListOrderDocumentsResult": { "type": "object", "properties": { "fileName": { "type": "string", "description": "The name of the file", "nullable": true }, "id": { "type": "integer", "description": "The unique internal id of the file", "format": "int64" }, "fileSizeInBytes": { "type": "integer", "description": "The size of the file in bytes", "format": "int64" }, "parentFolderId": { "type": "integer", "description": "The internal unique id of the folder containing this file", "format": "int64" }, "createdOn": { "type": "string", "description": "The string representation of the timstamp when this file has been created (uploaded)", "nullable": true }, "lastUpdateOn": { "type": "string", "description": "The string representation of the timstamp when this file has been updated", "nullable": true }, "fileMimeType": { "type": "string", "description": "The MIME type of the file", "nullable": true } }, "additionalProperties": false, "description": "Object which holds information about a file of a service order" }, "OrderDetailBerthContact": { "type": "object", "properties": { "berth_name": { "type": "string", "description": "Name of the berth", "nullable": true }, "owner_bp_name": { "type": "string", "description": "The name of the owner business partner of the berth", "nullable": true } }, "additionalProperties": false, "description": "Object which holds detailled information about an order, in this case contact data of the berth" }, "OrderDetailResult": { "type": "object", "properties": { "tenant_number": { "type": "integer", "description": "The unique internal id of the tenant", "format": "int32" }, "tenant_name": { "type": "string", "description": "The name of the tenant", "nullable": true }, "tenant_schema": { "type": "string", "description": "The unique internal schema name of the tenant", "nullable": true }, "service_order_created_by": { "type": "string", "description": "E-mail address of the user who created the service order", "nullable": true }, "service_order_created_display_name": { "type": "string", "description": "Display name of the user who created the service order", "nullable": true }, "service_order_created_on": { "type": "string", "description": "Date and time value when the service order has been created", "format": "date-time" }, "service_order_last_update_by": { "type": "string", "description": "E-mail address of the user who made recent updates to the service order", "nullable": true }, "service_order_last_update_display_name": { "type": "string", "description": "Display name of the user who made recent updates to the service order", "nullable": true }, "service_order_last_update_on": { "type": "string", "description": "Date and time value when the service order has been recently updated", "format": "date-time" }, "berth_booking_order_id": { "type": "integer", "description": "Unique internal tenant id of the service order", "format": "int64" }, "service_order_is_deleted": { "type": "boolean", "description": "Boolean value to indicate if the service order has been deleted (soft delete)" }, "service_order_status_id": { "type": "integer", "description": "Id value of the status of the service order", "format": "int32" }, "service_order_status_name": { "type": "string", "description": "Status name of the service order", "nullable": true }, "service_provider_bp_id": { "type": "integer", "description": "Tenant specific unique Id of the business partner (service provider) which is involved in the service order", "format": "int32" }, "service_provider_sys_bp_id": { "type": "integer", "description": "Global unique Id of the business partner (service provider) which is involved in the service order (unique across all tenants)", "format": "int32" }, "berth_booking_id": { "type": "integer", "description": "Id of the related booking of the service order", "format": "int64" }, "booking_start_on": { "type": "string", "description": "Date and time value when the related booking starts", "format": "date-time" }, "booking_end_on": { "type": "string", "description": "Date and time value when the related booking ends", "format": "date-time" }, "vessel_id": { "type": "integer", "description": "Unique tenant specific internal id of the related vessel", "format": "int32" }, "vessel_name": { "type": "string", "description": "The name of the vessel", "nullable": true }, "vessel_owner_business_partner_name": { "type": "string", "description": "The name of the owner (business partner) of the vessel", "nullable": true }, "berth_id": { "type": "integer", "description": "Unique tenant specific internal id of the related berth", "format": "int32" }, "berth_name": { "type": "string", "description": "The name of the berth", "nullable": true }, "berth_geo_latitude": { "type": "number", "description": "The geographical latitude value of the berths position", "format": "double" }, "berth_geo_longitude": { "type": "number", "description": "The geographical longitude value of the berths position", "format": "double" }, "berth_unlocode_alpha5": { "type": "string", "description": "The alpha5 code of the berths UN-location", "nullable": true }, "berth_unlocode_name": { "type": "string", "description": "The name of the berths UN-location", "nullable": true }, "berth_address_street": { "type": "string", "description": "The optional street of the berth", "nullable": true }, "berth_address_postal_code": { "type": "string", "description": "The optional postal code of the berth", "nullable": true }, "berth_address_city": { "type": "string", "description": "The optional city of the berth", "nullable": true }, "berth_address_local_district": { "type": "string", "description": "The optional local district of the berth", "nullable": true }, "berth_address_region": { "type": "string", "description": "The optional address related region of the berth", "nullable": true }, "desired_delivery_date": { "type": "string", "description": "The optional desired delivered date set by the booking portal user", "format": "date-time", "nullable": true }, "estimated_delivery_date": { "type": "string", "description": "The optional estimated delivery date set by the eConnect user", "format": "date-time", "nullable": true }, "order_lines": { "type": "array", "items": { "$ref": "#/components/schemas/OrderLineResult" }, "description": "List of order lines (articles) of the service order", "nullable": true }, "berth_contact": { "$ref": "#/components/schemas/OrderDetailBerthContact" }, "vessel_contact": { "$ref": "#/components/schemas/OrderDetailVesselContact" } }, "additionalProperties": false, "description": "Object which contains detailled information about an order" }, "OrderDetailVesselContact": { "type": "object", "properties": { "vessel_name": { "type": "string", "description": "The name of the vessel", "nullable": true }, "owner_bp_name": { "type": "string", "description": "The name of the owner (business partner) of the vessel", "nullable": true }, "vessel_email": { "type": "string", "description": "The optional email address of the vessel", "nullable": true }, "vessel_phone_number": { "type": "string", "description": "The optional phone number of the vessel", "nullable": true }, "vessel_mobile_phone_number": { "type": "string", "description": "The optional mobile phone number of the vessel", "nullable": true } }, "additionalProperties": false, "description": "Object which holds information about the related vessel of an order, in this case contact data" }, "OrderLineResult": { "type": "object", "properties": { "article_id": { "type": "integer", "description": "The unique id of the global business partner article within the partner portal.", "format": "int32" }, "article_name": { "type": "string", "description": "The article name the business partner uses for the article.", "nullable": true }, "article_code": { "type": "string", "description": "The article code the business partner uses for the article.", "nullable": true }, "article_waste_type_code": { "type": "string", "description": "The unique code of the waste type in combination with the data version.", "nullable": true }, "article_waste_type_desc": { "type": "string", "description": "The description of the waste type.", "nullable": true }, "aval_cntr_name": { "type": "string", "description": "The AvaL name of the container", "nullable": true }, "aval_cntr_code": { "type": "string", "description": "The AvaL code of the container", "nullable": true }, "article_tu_id": { "type": "integer", "description": "The unique internal id of the transport unit (e.g. AvaL)", "format": "int32", "nullable": true }, "article_tu_uom_id": { "type": "integer", "description": "The internal id of the transport units (e.g. AvaL) unit of measurement", "format": "int32", "nullable": true }, "article_tu_uom_name": { "type": "string", "description": "The name of the unit of measurement of the transport unit (e.g. AvaL)", "nullable": true }, "article_tu_quantity": { "type": "number", "description": "The amount of transport units (e.g. AvaL)", "format": "double", "nullable": true }, "berth_booking_order_line_id": { "type": "integer", "description": "The unique tenant specific internal id of the order line (article)", "format": "int64" }, "article_uom_id": { "type": "integer", "description": "The unique internal id of the articles unit of measurement", "format": "int32" }, "article_uom_abbreviation": { "type": "string", "description": "The abbrevation of the articles unit of measurement", "nullable": true }, "article_uom_name": { "type": "string", "description": "The name of the articles unit of measurement", "nullable": true }, "last_update_ordered_on": { "type": "string", "description": "Date and time value when the amount of ordered articles has been last changed", "format": "date-time" }, "quantity_ordered": { "type": "number", "description": "Amount of articles ordered", "format": "double" }, "last_update_confirmed_on": { "type": "string", "description": "Date and time value when the amount of confirmed articles has been last changed", "format": "date-time", "nullable": true }, "quantity_confirmed": { "type": "number", "description": "Amount of articles confirmed", "format": "double" }, "last_update_delivered_on": { "type": "string", "description": "Date and time value when the amount of delivered articles has been last changed", "format": "date-time", "nullable": true }, "quantity_delivered": { "type": "number", "description": "Amount of articles actually delivered", "format": "double", "nullable": true }, "service_order_line_is_deleted": { "type": "boolean", "description": "Value to indicate if this order line (article) has been deleted or not" } }, "additionalProperties": false, "description": "Object which holds information about an order line (article)" }, "OrderResult": { "type": "object", "properties": { "tenant_number": { "type": "integer", "description": "The unique internal id of the tenant", "format": "int32" }, "tenant_name": { "type": "string", "description": "The name of the tenant", "nullable": true }, "tenant_schema": { "type": "string", "description": "The unique internal schema name of the tenant", "nullable": true }, "service_order_created_by": { "type": "string", "description": "E-mail address of the user who created the service order", "nullable": true }, "service_order_created_display_name": { "type": "string", "description": "Display name of the user who created the service order", "nullable": true }, "service_order_created_on": { "type": "string", "description": "Date and time value when the service order has been created", "format": "date-time" }, "service_order_last_update_by": { "type": "string", "description": "E-mail address of the user who made recent updates to the service order", "nullable": true }, "service_order_last_update_display_name": { "type": "string", "description": "Display name of the user who made recent updates to the service order", "nullable": true }, "service_order_last_update_on": { "type": "string", "description": "Date and time value when the service order has been recently updated", "format": "date-time" }, "berth_booking_order_id": { "type": "integer", "description": "Unique internal tenant id of the service order", "format": "int64" }, "service_order_is_deleted": { "type": "boolean", "description": "Boolean value to indicate if the service order has been deleted (soft delete)" }, "service_order_status_id": { "type": "integer", "description": "Id value of the status of the service order", "format": "int32" }, "service_order_status_name": { "type": "string", "description": "Status name of the service order", "nullable": true }, "service_provider_bp_id": { "type": "integer", "description": "Tenant specific unique Id of the business partner (service provider) which is involved in the service order", "format": "int32" }, "service_provider_sys_bp_id": { "type": "integer", "description": "Global unique Id of the business partner (service provider) which is involved in the service order (unique across all tenants)", "format": "int32" }, "berth_booking_id": { "type": "integer", "description": "Id of the related booking of the service order", "format": "int64" }, "booking_start_on": { "type": "string", "description": "Date and time value when the related booking starts", "format": "date-time" }, "booking_end_on": { "type": "string", "description": "Date and time value when the related booking ends", "format": "date-time" }, "vessel_id": { "type": "integer", "description": "Unique tenant specific internal id of the related vessel", "format": "int32" }, "vessel_name": { "type": "string", "description": "The name of the vessel", "nullable": true }, "vessel_owner_business_partner_name": { "type": "string", "description": "The name of the owner (business partner) of the vessel", "nullable": true }, "berth_id": { "type": "integer", "description": "Unique tenant specific internal id of the related berth", "format": "int32" }, "berth_name": { "type": "string", "description": "The name of the berth", "nullable": true }, "berth_geo_latitude": { "type": "number", "description": "The geographical latitude value of the berths position", "format": "double" }, "berth_geo_longitude": { "type": "number", "description": "The geographical longitude value of the berths position", "format": "double" }, "berth_unlocode_alpha5": { "type": "string", "description": "The alpha5 code of the berths UN-location", "nullable": true }, "berth_unlocode_name": { "type": "string", "description": "The name of the berths UN-location", "nullable": true }, "berth_address_street": { "type": "string", "description": "The optional street of the berth", "nullable": true }, "berth_address_postal_code": { "type": "string", "description": "The optional postal code of the berth", "nullable": true }, "berth_address_city": { "type": "string", "description": "The optional city of the berth", "nullable": true }, "berth_address_local_district": { "type": "string", "description": "The optional local district of the berth", "nullable": true }, "berth_address_region": { "type": "string", "description": "The optional address related region of the berth", "nullable": true }, "desired_delivery_date": { "type": "string", "description": "The optional desired delivered date set by the booking portal user", "format": "date-time", "nullable": true }, "estimated_delivery_date": { "type": "string", "description": "The optional estimated delivery date set by the eConnect user", "format": "date-time", "nullable": true }, "order_lines": { "type": "array", "items": { "$ref": "#/components/schemas/OrderLineResult" }, "description": "List of order lines (articles) of the service order", "nullable": true } }, "additionalProperties": false, "description": "Object which holds information about an order" }, "OrderResultServerSideTableResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/OrderResult" }, "nullable": true }, "rowsNumber": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "OrderStatusResult": { "type": "object", "properties": { "service_order_status_id": { "type": "integer", "description": "The unique id of the service order status", "format": "int32" }, "service_order_status_name": { "type": "string", "description": "The name of the service order status", "nullable": true }, "service_order_status_desc": { "type": "string", "description": "The description of the service order status", "nullable": true } }, "additionalProperties": false, "description": "Object which holds information about a service order status" }, "OrderTableRequestFilter": { "type": "object", "properties": { "search": { "type": "string", "description": "Global search term", "nullable": true }, "status": { "type": "array", "items": { "type": "integer", "format": "int32" }, "description": "List of order status ids to filter the results", "nullable": true }, "completable": { "type": "boolean", "description": "Boolean value to filter results for orders that can be completed, based on the \"confirmed\" status and the fact that the related booking is already in the past", "nullable": true }, "period": { "type": "string", "description": "String value which holds a predefined period to filter the results", "nullable": true }, "tenants": { "type": "array", "items": { "type": "integer", "format": "int32" }, "description": "List of tenant ids to filter the results", "nullable": true }, "locations": { "type": "array", "items": { "type": "string" }, "description": "List of un location codes to filter the results", "nullable": true }, "customPeriod": { "$ref": "#/components/schemas/OrderTableRequestFilterCustomPeriod" }, "includeOrderLines": { "type": "boolean", "description": "Boolean value to indicate if order lines (articles) should be queried as well, currently used for export functions", "nullable": true } }, "additionalProperties": false, "description": "Objects which holds information about filterable items for a server side process order table" }, "OrderTableRequestFilterCustomPeriod": { "type": "object", "properties": { "start": { "type": "string", "description": "Date and time value (with tz offset) to start at", "format": "date-time" }, "end": { "type": "string", "description": "Date and time value (with tz offset) to end at", "format": "date-time" } }, "additionalProperties": false, "description": "Object which holds information about a custom period (date time value) to filter order results" }, "OrderTableRequestFilterServerSideTableQuery": { "type": "object", "properties": { "language_code": { "type": "string", "nullable": true, "readOnly": true }, "pagination": { "$ref": "#/components/schemas/ServerSideTablePagination" }, "filter": { "$ref": "#/components/schemas/OrderTableRequestFilter" } }, "additionalProperties": false }, "ProblemDetails": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32", "nullable": true }, "detail": { "type": "string", "nullable": true }, "instance": { "type": "string", "nullable": true } }, "additionalProperties": { } }, "PutEmailNotificationSettingsRequest": { "type": "object", "properties": { "event_id": { "type": "integer", "format": "int32" }, "value": { "type": "boolean" } }, "additionalProperties": false }, "PutWebNotificationSettingsRequest": { "type": "object", "properties": { "event_id": { "type": "integer", "format": "int32" }, "value": { "type": "boolean" } }, "additionalProperties": false }, "ServerSideTablePagination": { "type": "object", "properties": { "sortBy": { "type": "string", "nullable": true }, "descending": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" }, "rowsPerPage": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "TenantBerthWithLocationDetailResult": { "required": [ "berth_address_city", "berth_address_local_district", "berth_address_postal_code", "berth_address_region", "berth_address_street", "berth_id", "berth_installation_type_name", "berth_name", "berth_name_simple", "country_alpha2", "country_name", "geo_latitude", "geo_longitude", "is_active", "is_bookable", "is_deleted", "is_seasonal", "nts_position_name", "season_end_on", "season_start_on", "tenant_number", "unlocode_alpha5", "waterway_distance_mark", "waterway_generic_name" ], "type": "object", "properties": { "tenant_number": { "type": "integer", "description": "The unique internal id of the tenant", "format": "int32" }, "berth_id": { "type": "integer", "description": "Unique tenant specific internal id of the related berth", "format": "int32" }, "berth_name": { "minLength": 1, "type": "string", "description": "The name of the berth" }, "berth_name_simple": { "minLength": 1, "type": "string", "description": "The simplified name of the berth" }, "berth_installation_type_name": { "minLength": 1, "type": "string", "description": "The name of the intallation type of the berth (like fixed or floating)" }, "waterway_generic_name": { "minLength": 1, "type": "string", "description": "The name of the waterway (river) where the berth is located" }, "waterway_distance_mark": { "type": "number", "description": "The distance mark (km) where the berth is located at the waterway", "format": "double" }, "nts_position_name": { "minLength": 1, "type": "string", "description": "Riverside position of the berth, e.g. left, right, etc." }, "geo_latitude": { "type": "number", "description": "The geographical latitude value of the berths position", "format": "double" }, "geo_longitude": { "type": "number", "description": "The geographical longitude value of the berths position", "format": "double" }, "berth_address_street": { "minLength": 1, "type": "string", "description": "The optional street of the berth" }, "berth_address_postal_code": { "minLength": 1, "type": "string", "description": "The optional postal code of the berth" }, "berth_address_city": { "minLength": 1, "type": "string", "description": "The optional city of the berth" }, "berth_address_local_district": { "minLength": 1, "type": "string", "description": "The optional local district of the berth" }, "berth_address_region": { "minLength": 1, "type": "string", "description": "The optional address related region of the berth" }, "country_name": { "minLength": 1, "type": "string", "description": "The name of the country where the berth is located" }, "country_alpha2": { "minLength": 1, "type": "string", "description": "The alpha2 value of the country where the berth is located" }, "unlocode_alpha5": { "minLength": 1, "type": "string", "description": "The alpha5 code of the Un-Location" }, "is_active": { "type": "boolean", "description": "Boolean value to indicate if the berth is set as active" }, "is_deleted": { "type": "boolean", "description": "Boolean value to indicate if the berth is set as deleted" }, "is_bookable": { "type": "boolean", "description": "Boolean value to indicate if the berth is bookable at all" }, "is_seasonal": { "type": "boolean", "description": "Boolean value to indicate if the berth can only be booked in a specified season (date time values)" }, "season_start_on": { "type": "string", "description": "Date and time value of the start of the bookable berth season", "format": "date-time" }, "season_end_on": { "type": "string", "description": "Date and time value of the end of the bookable berth season", "format": "date-time" } }, "additionalProperties": false, "description": "Object which holds information about the tenants berth, including details about the location" }, "TenantResult": { "type": "object", "properties": { "tenant_number": { "type": "integer", "description": "Unique internal id of the tenant", "format": "int32" }, "tenant_name": { "type": "string", "description": "The name of the tenant", "nullable": true } }, "additionalProperties": false, "description": "Object which holds information about a tenant" }, "UnitOfMeasurementsResult": { "required": [ "uom_id", "uom_name" ], "type": "object", "properties": { "uom_id": { "type": "integer", "description": "The unique internal id of the unit of measurement", "format": "int32" }, "uom_name": { "minLength": 1, "type": "string", "description": "The name of the unit of measurement" }, "uom_abbreviation": { "type": "string", "description": "The abbreviation of the unit of measurement", "nullable": true } }, "additionalProperties": false, "description": "Object which holds information about a unit of measurement (UOM)" }, "UpdateEstimatedDeliveryPayload": { "type": "object", "properties": { "estimated_delivery_date": { "type": "string", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "WasteTypeResult": { "required": [ "is_active", "is_hazardous_waste", "is_selectable", "is_visible", "waste_type_code", "waste_type_data_version", "waste_type_desc" ], "type": "object", "properties": { "waste_type_code": { "minLength": 1, "type": "string", "description": "The unique code of the waste type in combination with the data version." }, "waste_type_data_version": { "minLength": 1, "type": "string", "description": "The data version for which the waste type id is valid (combined primary key)." }, "parent_waste_type_code": { "type": "string", "description": "The reference to the parent waste type code entry (combined with the waste_type_data_version), if this is NULL this row is a ROOT element.", "nullable": true }, "waste_type_desc": { "minLength": 1, "type": "string", "description": "The description of the waste type.\r\nThe language specific translations of the waste type description.\r\nBy default the waste_type_desc is used (fallback) but otherwise it is possible to get the description from this KEY = value array storage JsonPropertyName type using the key (country_alpha2 = country_name)." }, "is_hazardous_waste": { "type": "boolean", "description": "Boolean value to indicate that this is when set to TRUE, otherwise it is not hazardous (DEFAULT=FALSE)" }, "is_active": { "type": "boolean", "description": "Boolean value to indicate that this is a currently active (valid) entry." }, "is_visible": { "type": "boolean", "description": "Boolean value to indicate that this entry is shown in the user interface (for example to unfold sub-elements)." }, "is_selectable": { "type": "boolean", "description": "Boolean value to indicate that this is leaf element that can be selected by the user." } }, "additionalProperties": false, "description": "Object which holds information about available waste types" } }, "securitySchemes": { "Bearer": { "type": "apiKey", "description": "JWT Authorization header using the Bearer scheme. \\r\\n\\r\\n \n Enter 'Bearer' [space] and then your token in the text input below.\n \\r\\n\\r\\nExample: 'Bearer 12345abcdef'", "name": "Authorization", "in": "header" } } }, "security": [ { "Bearer": [ ] } ] }