diff --git a/.github/workflows/assay-index.yml b/.github/workflows/assay-index.yml index 425ac77519..a3a13628a9 100644 --- a/.github/workflows/assay-index.yml +++ b/.github/workflows/assay-index.yml @@ -35,6 +35,9 @@ permissions: env: ASSAY_CACHE: /home/runner/.cache/assay + # Must match GO_TAGS in services/tms/Taskfile.yml. assay shells out to go + # test, and a differing tag set shares no build cache with the other jobs. + GOFLAGS: -tags=nomsgpack jobs: index: diff --git a/.github/workflows/assay-select.yml b/.github/workflows/assay-select.yml index 56597b87f2..deb90d2145 100644 --- a/.github/workflows/assay-select.yml +++ b/.github/workflows/assay-select.yml @@ -35,6 +35,9 @@ permissions: env: ASSAY_CACHE: /home/runner/.cache/assay + # Must match GO_TAGS in services/tms/Taskfile.yml. assay shells out to go + # test, and a differing tag set shares no build cache with the other jobs. + GOFLAGS: -tags=nomsgpack jobs: select: diff --git a/.github/workflows/test-tms.yml b/.github/workflows/test-tms.yml index 4d02497911..5cdf5f70ce 100644 --- a/.github/workflows/test-tms.yml +++ b/.github/workflows/test-tms.yml @@ -40,6 +40,11 @@ permissions: contents: read env: + # Must match GO_TAGS in services/tms/Taskfile.yml. 769 of 832 packages depend + # on gin, so a job that builds under a different tag set shares no build cache + # with the others. Steps passing -tags on the command line override this + # rather than merging, so they spell nomsgpack out themselves. + GOFLAGS: -tags=nomsgpack # Both test harnesses reuse this server, so the migrated template database is # built once for the whole run instead of once per package. TRENOVA_TEST_POSTGRES_DSN: postgres://postgres:postgres@localhost:5432/trenova_test?sslmode=disable @@ -131,7 +136,7 @@ jobs: printf 'integration packages: %d\n' "${#packages[@]}" # Cap package parallelism: every process creates databases on the one # shared server, and the runner only has two cores anyway. - go test -p 4 -tags=integration -coverprofile=coverage-integration.out \ + go test -p 4 -tags=integration,nomsgpack -coverprofile=coverage-integration.out \ -covermode=atomic "${packages[@]}" - name: Upload integration coverage artifact @@ -270,7 +275,7 @@ jobs: working-directory: ./services/tms run: | set -euo pipefail - go run github.com/swaggo/swag/cmd/swag@v1.16.6 init -g ./cmd/cli/main.go -o ./docs --parseInternal --parseDependency + go run github.com/swaggo/swag/cmd/swag@v1.16.6 init -g ./cmd/cli/main.go -o ./docs --parseInternal --parseDependency --outputTypes json,yaml go run ./cmd/openapi-postprocess if ! git diff --quiet -- docs; then echo "::error::OpenAPI spec is stale - run 'task docs-generate' and commit" @@ -344,4 +349,4 @@ jobs: - name: Run TMS race tests working-directory: ./services/tms - run: go test -p 4 -race -tags=integration ./... + run: go test -p 4 -race -tags=integration,nomsgpack ./... diff --git a/.golangci.yml b/.golangci.yml index 729533ee22..a9145b8abb 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -2,6 +2,11 @@ version: "2" run: go: "1.26" tests: false + # Must match GO_TAGS in services/tms/Taskfile.yml. Linting under a different + # tag set type-checks a different build of almost every package and discards + # the build cache the other commands share. + build-tags: + - nomsgpack linters: default: none enable: diff --git a/deploy/Dockerfile.tms b/deploy/Dockerfile.tms index 6ea57c240b..5f035d0667 100644 --- a/deploy/Dockerfile.tms +++ b/deploy/Dockerfile.tms @@ -17,7 +17,7 @@ COPY services/tms/ ./services/tms/ WORKDIR /build/services/tms ENV CGO_ENABLED=1 -RUN go build -tags musl -ldflags="-s -w" -o /build/trenova ./cmd/cli +RUN go build -tags musl,nomsgpack -ldflags="-s -w" -o /build/trenova ./cmd/cli FROM alpine:3.21 diff --git a/docs/engineering/generated-artifacts.md b/docs/engineering/generated-artifacts.md index 1ced338aff..de070fb1a4 100644 --- a/docs/engineering/generated-artifacts.md +++ b/docs/engineering/generated-artifacts.md @@ -22,7 +22,7 @@ go generate ./internal/infrastructure/database/seeder/... # pkg/seedhel go generate ./internal/api/graphql/projection/... # internal/api/graphql/projection/specs_gen.go go generate ./internal/infrastructure/database/reportcatalog/... # pkg/reportcatalog/catalog_gen.go -go run github.com/swaggo/swag/cmd/swag@v1.16.6 init -g ./cmd/cli/main.go -o ./docs --parseInternal --parseDependency +go run github.com/swaggo/swag/cmd/swag@v1.16.6 init -g ./cmd/cli/main.go -o ./docs --parseInternal --parseDependency --outputTypes json,yaml go run ./cmd/openapi-postprocess # then: git diff --quiet -- docs ``` diff --git a/services/tms/.air.toml b/services/tms/.air.toml index 3747d04b5e..6d33460cce 100644 --- a/services/tms/.air.toml +++ b/services/tms/.air.toml @@ -2,7 +2,16 @@ root = "." tmp_dir = "tmp" [build] -cmd = "go build -tags nofitz -o ./tmp/trenova-cli.exe ./cmd/cli" +# -N -l (no optimisation, no inlining) takes a resolver-edit reload from ~25s +# to ~17s. It is scoped to first-party packages rather than `all=` so the +# stdlib and runtime stay optimised, and it applies only here -- `task +# build-cli`, CI and the release image are all unaffected. +# +# Two costs: the reloaded server runs unoptimised code, so do not benchmark +# against it, and these flags key a separate build cache, so the first reload +# after adopting them rebuilds every first-party package once (~160s). +# Drop the -gcflags argument to revert. +cmd = "go build -tags nofitz,nomsgpack -gcflags='github.com/emoss08/trenova/...=-N -l' -o ./tmp/trenova-cli.exe ./cmd/cli" bin = "./tmp/trenova-cli" delay = 100 exclude_dir = ["assets", "tmp", "vendor", "ui", "platform", "microservices"] diff --git a/services/tms/Taskfile.yml b/services/tms/Taskfile.yml index 49222806bc..40fece202c 100644 --- a/services/tms/Taskfile.yml +++ b/services/tms/Taskfile.yml @@ -13,11 +13,24 @@ vars: TEST_DB_CONTAINER: trenova-integration-postgres TEST_DB_PORT: "55432" TEST_POSTGRES_DSN: "postgres://postgres:postgres@localhost:55432/trenova_test?sslmode=disable" + # nomsgpack drops gin's MsgPack binding, which nothing here uses. It is the + # only thing pulling in ugorji/go/codec, a 20s compile on the critical path. + # # go-fitz needs libmupdf, which has no pure-Go build and no bundled Windows DLL. # Windows dev builds drop it so the CLI starts; Linux/macOS/Docker keep PDF support. - # Override with `task build-cli GO_TAGS=` to force it back on. - GO_TAGS: '{{if eq OS "windows"}}nofitz{{end}}' + # Override with `task build-cli GO_TAGS=nomsgpack` to force PDF support back on. + GO_TAGS: 'nomsgpack{{if eq OS "windows"}},nofitz{{end}}' GO_TAG_FLAG: '{{if .GO_TAGS}}-tags {{.GO_TAGS}}{{end}}' + # Commands that pass -tags on the command line override GOFLAGS rather than + # merging with it, so they have to spell the base tags out themselves. + GO_TAGS_INTEGRATION: '{{if .GO_TAGS}}{{.GO_TAGS}},{{end}}integration' + +# 769 of 832 packages depend on gin, so a go command that misses the tag set +# rebuilds and re-caches almost the whole tree under a second configuration. +# Setting GOFLAGS here covers every go invocation in this file, including ones +# added later. +env: + GOFLAGS: '{{if .GO_TAGS}}-tags={{.GO_TAGS}}{{end}}' tasks: default: @@ -84,7 +97,7 @@ tasks: set -euo pipefail packages=$(git grep -l 'go:build integration' -- '*_test.go' \ | xargs -n1 dirname | sort -u | sed 's|^|./|') - go test -p 4 -tags=integration $packages + go test -p 4 -tags={{.GO_TAGS_INTEGRATION}} $packages test-all: desc: Run all tests (unit + integration) @@ -93,7 +106,7 @@ tasks: TRENOVA_TEST_POSTGRES_DSN: "{{.TEST_POSTGRES_DSN}}" APP_ENV: test cmds: - - go test -p 4 -tags=integration ./... + - go test -p 4 -tags={{.GO_TAGS_INTEGRATION}} ./... test-db-up: desc: Start the shared Postgres the integration suite runs against @@ -134,7 +147,7 @@ tasks: TRENOVA_TEST_POSTGRES_DSN: "{{.TEST_POSTGRES_DSN}}" APP_ENV: test cmds: - - go test -p 4 -tags=integration -coverprofile=coverage.out ./... + - go test -p 4 -tags={{.GO_TAGS_INTEGRATION}} -coverprofile=coverage.out ./... - go tool cover -html=coverage.out -o coverage.html test-short: @@ -261,14 +274,14 @@ tasks: docs-generate: desc: Generate Swagger docs for the TMS API cmds: - - go run github.com/swaggo/swag/cmd/swag@v1.16.6 init -g ./cmd/cli/main.go -o ./docs --parseInternal --parseDependency + - go run github.com/swaggo/swag/cmd/swag@v1.16.6 init -g ./cmd/cli/main.go -o ./docs --parseInternal --parseDependency --outputTypes json,yaml - go run ./cmd/openapi-postprocess docs-generate-check: desc: Check the generated OpenAPI spec is up to date cmds: - | - go run github.com/swaggo/swag/cmd/swag@v1.16.6 init -g ./cmd/cli/main.go -o ./docs --parseInternal --parseDependency + go run github.com/swaggo/swag/cmd/swag@v1.16.6 init -g ./cmd/cli/main.go -o ./docs --parseInternal --parseDependency --outputTypes json,yaml go run ./cmd/openapi-postprocess if git diff --quiet -- docs; then echo "OpenAPI spec is up to date" diff --git a/services/tms/cmd/cli/db/db_create_seed.go b/services/tms/cmd/cli/db/db_create_seed.go index c8a60814bd..20a37a28f7 100644 --- a/services/tms/cmd/cli/db/db_create_seed.go +++ b/services/tms/cmd/cli/db/db_create_seed.go @@ -7,6 +7,7 @@ import ( "os" "os/exec" "path/filepath" + "regexp" "strconv" "strings" "text/template" @@ -14,7 +15,6 @@ import ( "github.com/fatih/color" "github.com/samber/lo" "github.com/spf13/cobra" - "golang.org/x/tools/imports" ) var ( @@ -22,6 +22,8 @@ var ( seedTest bool ) +var seedNamePattern = regexp.MustCompile(`^[A-Za-z][A-Za-z0-9_]*$`) + var createSeedCmd = &cobra.Command{ Use: "create-seed ", Short: "Create a new database seed", @@ -36,6 +38,12 @@ func init() { func runCreateSeed(cmd *cobra.Command, args []string) error { seedName := args[0] + if !seedNamePattern.MatchString(seedName) { + return fmt.Errorf( + "invalid seed name %q: must start with a letter and contain only letters, digits and underscores", + seedName, + ) + } var targetDir string var environments string @@ -74,13 +82,7 @@ func runCreateSeed(cmd *cobra.Command, args []string) error { formatted, err := format.Source([]byte(content)) if err != nil { - formatted, err = imports.Process(filepath, []byte(content), nil) - if err != nil { - color.Yellow("⚠ Could not format seed file: %v", err) - formatted = []byte(content) - } - } else { - formatted, _ = imports.Process(filepath, formatted, nil) + return fmt.Errorf("format seed content: %w", err) } if err := os.WriteFile(filepath, formatted, 0o644); err != nil { diff --git a/services/tms/docs/docs.go b/services/tms/docs/docs.go deleted file mode 100644 index 4e907e4950..0000000000 --- a/services/tms/docs/docs.go +++ /dev/null @@ -1,54235 +0,0 @@ -// Package docs Code generated by swaggo/swag. DO NOT EDIT -package docs - -import "github.com/swaggo/swag" - -const docTemplate = `{ - "schemes": {{ marshal .Schemes }}, - "swagger": "2.0", - "info": { - "description": "{{escape .Description}}", - "title": "{{.Title}}", - "contact": {}, - "version": "{{.Version}}" - }, - "host": "{{.Host}}", - "basePath": "{{.BasePath}}", - "paths": { - "/accessorial-charges/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Accessorial Charges" - ], - "summary": "List accessorial charges", - "operationId": "listAccessorialCharges", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_accessorialcharge_AccessorialCharge" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Accessorial Charges" - ], - "summary": "Create an accessorial charge", - "operationId": "createAccessorialCharge", - "parameters": [ - { - "description": "Accessorial charge payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/accessorial-charges/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Accessorial Charges" - ], - "summary": "List accessorial charge options", - "operationId": "listAccessorialChargeOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_accessorialcharge_AccessorialCharge" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/accessorial-charges/select-options/{accessorialChargeID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Accessorial Charges" - ], - "summary": "Get an accessorial charge option", - "operationId": "getAccessorialChargeOption", - "parameters": [ - { - "type": "string", - "description": "Accessorial charge ID", - "name": "accessorialChargeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/accessorial-charges/{accessorialChargeID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Accessorial Charges" - ], - "summary": "Get an accessorial charge", - "operationId": "getAccessorialCharge", - "parameters": [ - { - "type": "string", - "description": "Accessorial charge ID", - "name": "accessorialChargeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Accessorial Charges" - ], - "summary": "Update an accessorial charge", - "operationId": "updateAccessorialCharge", - "parameters": [ - { - "type": "string", - "description": "Accessorial charge ID", - "name": "accessorialChargeID", - "in": "path", - "required": true - }, - { - "description": "Accessorial charge payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Accessorial Charges" - ], - "summary": "Patch an accessorial charge", - "operationId": "patchAccessorialCharge", - "parameters": [ - { - "type": "string", - "description": "Accessorial charge ID", - "name": "accessorialChargeID", - "in": "path", - "required": true - }, - { - "description": "Partial accessorial charge payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/account-types/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Account Types" - ], - "summary": "List account types", - "operationId": "listAccountTypes", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_accounttype_AccountType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Account Types" - ], - "summary": "Create an account type", - "operationId": "createAccountType", - "parameters": [ - { - "description": "Account type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/account-types/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Account Types" - ], - "summary": "Bulk update account type statuses", - "operationId": "bulkUpdateAccountTypeStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateAccountTypeStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/account-types/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Account Types" - ], - "summary": "List account type options", - "operationId": "listAccountTypeOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_accounttype_AccountType" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/account-types/select-options/{accountTypeID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Account Types" - ], - "summary": "Get an account type option", - "operationId": "getAccountTypeOption", - "parameters": [ - { - "type": "string", - "description": "Account type ID", - "name": "accountTypeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/account-types/{accountTypeID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Account Types" - ], - "summary": "Get an account type", - "operationId": "getAccountType", - "parameters": [ - { - "type": "string", - "description": "Account type ID", - "name": "accountTypeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/account-types/{accountTypeID}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Account Types" - ], - "summary": "Update an account type", - "operationId": "updateAccountType", - "parameters": [ - { - "type": "string", - "description": "Account type ID", - "name": "accountTypeID", - "in": "path", - "required": true - }, - { - "description": "Account type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Account Types" - ], - "summary": "Patch an account type", - "operationId": "patchAccountType", - "parameters": [ - { - "type": "string", - "description": "Account type ID", - "name": "accountTypeID", - "in": "path", - "required": true - }, - { - "description": "Partial account type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/accounting-controls/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the current accounting control document for the authenticated tenant.", - "produces": [ - "application/json" - ], - "tags": [ - "Accounting Controls" - ], - "summary": "Get accounting control settings", - "operationId": "getAccountingControl", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.AccountingControl" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Accounting Controls" - ], - "summary": "Update accounting control settings", - "operationId": "updateAccountingControl", - "parameters": [ - { - "description": "Accounting control payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.AccountingControl" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.AccountingControl" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/admin/database-sessions/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns currently blocked PostgreSQL session chains for platform administrators.", - "produces": [ - "application/json" - ], - "tags": [ - "Database Sessions" - ], - "summary": "List blocked database sessions", - "operationId": "listBlockedDatabaseSessions", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/admin/database-sessions/{pid}/terminate/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Terminates the specified PostgreSQL session for platform administrators.", - "produces": [ - "application/json" - ], - "tags": [ - "Database Sessions" - ], - "summary": "Terminate a database session", - "operationId": "terminateDatabaseSession", - "parameters": [ - { - "type": "integer", - "description": "Database session PID", - "name": "pid", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_system.TerminateDatabaseSessionResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/analytics/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns analytics data for the requested application page.", - "produces": [ - "application/json" - ], - "tags": [ - "Analytics" - ], - "summary": "Get analytics data", - "operationId": "getAnalytics", - "parameters": [ - { - "type": "string", - "description": "Analytics page", - "name": "page", - "in": "query", - "required": true - }, - { - "type": "integer", - "description": "Start date as Unix timestamp", - "name": "startDate", - "in": "query" - }, - { - "type": "integer", - "description": "End date as Unix timestamp", - "name": "endDate", - "in": "query" - }, - { - "type": "integer", - "description": "Result limit", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "description": "Result offset", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "IANA timezone name", - "name": "timezone", - "in": "query" - }, - { - "type": "integer", - "description": "Rolling analytics window in days", - "name": "windowDays", - "in": "query" - }, - { - "type": "string", - "description": "Optional analytics section to include", - "name": "include", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.AnalyticsData" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/api-keys/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "API Keys" - ], - "summary": "List API keys", - "operationId": "listAPIKeys", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_ports_services_APIKeyResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "API Keys" - ], - "summary": "Create an API key", - "operationId": "createAPIKey", - "parameters": [ - { - "description": "API key payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.CreateAPIKeyRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.APIKeySecretResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/api-keys/allowed-resources": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "API Keys" - ], - "summary": "List allowed API key resources", - "operationId": "listAllowedAPIKeyResources", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_apikeyservice.AllowedResourceCategory" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/api-keys/{apiKeyID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "API Keys" - ], - "summary": "Get an API key", - "operationId": "getAPIKey", - "parameters": [ - { - "type": "string", - "description": "API key ID", - "name": "apiKeyID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.APIKeyResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "API Keys" - ], - "summary": "Update an API key", - "operationId": "updateAPIKey", - "parameters": [ - { - "type": "string", - "description": "API key ID", - "name": "apiKeyID", - "in": "path", - "required": true - }, - { - "description": "API key payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.UpdateAPIKeyRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.APIKeyResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/api-keys/{apiKeyID}/revoke/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "API Keys" - ], - "summary": "Revoke an API key", - "operationId": "revokeAPIKey", - "parameters": [ - { - "type": "string", - "description": "API key ID", - "name": "apiKeyID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.APIKeyResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/api-keys/{apiKeyID}/rotate/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "API Keys" - ], - "summary": "Rotate an API key", - "operationId": "rotateAPIKey", - "parameters": [ - { - "type": "string", - "description": "API key ID", - "name": "apiKeyID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.APIKeySecretResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/assignments/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Assignments" - ], - "summary": "List assignments", - "operationId": "listAssignments", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_shipment_Assignment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/assignments/{assignmentID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Assignments" - ], - "summary": "Get an assignment", - "operationId": "getAssignment", - "parameters": [ - { - "type": "string", - "description": "Assignment ID", - "name": "assignmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Assignment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/auth/login": { - "post": { - "description": "Authenticates a user and returns the session payload. This endpoint also sets the configured session cookie.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Auth" - ], - "summary": "Login", - "operationId": "login", - "parameters": [ - { - "description": "Login credentials", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.LoginRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.LoginResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/auth/logout": { - "post": { - "description": "Invalidates the current session and clears the session cookie.", - "tags": [ - "Auth" - ], - "summary": "Logout", - "operationId": "logout", - "responses": { - "204": { - "description": "No Content" - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/auth/validate-session": { - "post": { - "description": "Validates the current session cookie and returns whether the session is still active.", - "produces": [ - "application/json" - ], - "tags": [ - "Auth" - ], - "summary": "Validate session", - "operationId": "validateSession", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/gin.H" - } - } - } - } - }, - "/billing-controls/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the current billing control document for the authenticated tenant.", - "produces": [ - "application/json" - ], - "tags": [ - "Billing Controls" - ], - "summary": "Get billing control settings", - "operationId": "getBillingControl", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BillingControl" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Controls" - ], - "summary": "Update billing control settings", - "operationId": "updateBillingControl", - "parameters": [ - { - "description": "Billing control payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BillingControl" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BillingControl" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing-queue/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "List billing queue items", - "operationId": "listBillingQueueItems", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_billingqueue_BillingQueueItem" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing-queue/filter-presets/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "List billing queue filter presets", - "operationId": "listBillingQueueFilterPresets", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueuefilterpreset.BillingQueueFilterPreset" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "Create a billing queue filter preset", - "operationId": "createBillingQueueFilterPreset", - "parameters": [ - { - "description": "Filter preset payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_billingqueuehandler.filterPresetRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueuefilterpreset.BillingQueueFilterPreset" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ValidationError" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing-queue/filter-presets/{presetId}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "Update a billing queue filter preset", - "operationId": "updateBillingQueueFilterPreset", - "parameters": [ - { - "type": "string", - "description": "Filter preset ID", - "name": "presetId", - "in": "path", - "required": true - }, - { - "description": "Filter preset payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_billingqueuehandler.filterPresetRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueuefilterpreset.BillingQueueFilterPreset" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ValidationError" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Billing Queue" - ], - "summary": "Delete a billing queue filter preset", - "operationId": "deleteBillingQueueFilterPreset", - "parameters": [ - { - "type": "string", - "description": "Filter preset ID", - "name": "presetId", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing-queue/stats/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "Get billing queue stats", - "operationId": "getBillingQueueStats", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.BillingQueueStats" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing-queue/transfer/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "Transfer a shipment to billing queue", - "operationId": "transferToBillingQueue", - "parameters": [ - { - "description": "Transfer request payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_billingqueuehandler.transferRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillingQueueItem" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ValidationError" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing-queue/{itemID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "Get a billing queue item", - "operationId": "getBillingQueueItem", - "parameters": [ - { - "type": "string", - "description": "Billing queue item ID", - "name": "itemID", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Expand shipment details", - "name": "expandShipmentDetails", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillingQueueItem" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing-queue/{itemID}/assign/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "Assign a biller to a billing queue item", - "operationId": "assignBillingQueueBiller", - "parameters": [ - { - "type": "string", - "description": "Billing queue item ID", - "name": "itemID", - "in": "path", - "required": true - }, - { - "description": "Assign biller payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_billingqueuehandler.assignRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillingQueueItem" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing-queue/{itemID}/charges/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "Update charges on a billing queue item", - "operationId": "updateBillingQueueCharges", - "parameters": [ - { - "type": "string", - "description": "Billing queue item ID", - "name": "itemID", - "in": "path", - "required": true - }, - { - "description": "Update charges payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_billingqueuehandler.updateChargesRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillingQueueItem" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ValidationError" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing-queue/{itemID}/reassign-charge/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Moves a freight or accessorial charge, whole or split, to other payers while the shipment is in review. Payers who gain a share get a queue item and payers left with nothing have theirs canceled.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "Reassign who pays for one charge on a billing queue item's shipment", - "operationId": "reassignBillingQueueCharge", - "parameters": [ - { - "type": "string", - "description": "Billing queue item ID", - "name": "itemID", - "in": "path", - "required": true - }, - { - "description": "Charge and its new allocations", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_billingqueuehandler.reassignChargeRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ReassignChargeResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ValidationError" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing-queue/{itemID}/status/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Billing Queue" - ], - "summary": "Update billing queue item status", - "operationId": "updateBillingQueueStatus", - "parameters": [ - { - "type": "string", - "description": "Billing queue item ID", - "name": "itemID", - "in": "path", - "required": true - }, - { - "description": "Update status payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_billingqueuehandler.updateStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillingQueueItem" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ValidationError" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/invoice-runs/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoice Run" - ], - "summary": "List invoice runs", - "operationId": "listInvoiceRuns", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_invoicerun_InvoiceRun" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/invoice-runs/preview/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoice Run" - ], - "summary": "Build an invoice run preview", - "operationId": "previewInvoiceRun", - "parameters": [ - { - "description": "Preview request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_invoicerunhandler.previewRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRun" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/invoice-runs/{runID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoice Run" - ], - "summary": "Get an invoice run", - "operationId": "getInvoiceRun", - "parameters": [ - { - "type": "string", - "description": "Invoice run ID", - "name": "runID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRun" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/invoice-runs/{runID}/cancel/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoice Run" - ], - "summary": "Cancel an invoice run", - "operationId": "cancelInvoiceRun", - "parameters": [ - { - "type": "string", - "description": "Invoice run ID", - "name": "runID", - "in": "path", - "required": true - }, - { - "description": "Cancel reason", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_invoicerunhandler.cancelRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRun" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/invoice-runs/{runID}/commit/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoice Run" - ], - "summary": "Commit an invoice run", - "operationId": "commitInvoiceRun", - "parameters": [ - { - "type": "string", - "description": "Invoice run ID", - "name": "runID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.CommitInvoiceRunResult" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/invoice-runs/{runID}/membership/": { - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoice Run" - ], - "summary": "Adjust invoice run membership", - "operationId": "adjustInvoiceRunMembership", - "parameters": [ - { - "type": "string", - "description": "Invoice run ID", - "name": "runID", - "in": "path", - "required": true - }, - { - "description": "Membership changes", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_invoicerunhandler.membershipRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRun" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/invoices/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoices" - ], - "summary": "List invoices", - "operationId": "listInvoices", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_invoice_Invoice" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/invoices/{invoiceID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoices" - ], - "summary": "Get an invoice", - "operationId": "getInvoice", - "parameters": [ - { - "type": "string", - "description": "Invoice ID", - "name": "invoiceID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.Invoice" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/invoices/{invoiceID}/post/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoices" - ], - "summary": "Post an invoice", - "operationId": "postInvoice", - "parameters": [ - { - "type": "string", - "description": "Invoice ID", - "name": "invoiceID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.Invoice" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ValidationError" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/statements/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoice Run" - ], - "summary": "List open statements", - "operationId": "listOpenStatements", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.OpenStatement" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/statements/{customerID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoice Run" - ], - "summary": "Get one customer's open statement", - "operationId": "getOpenStatement", - "parameters": [ - { - "type": "string", - "description": "Customer ID", - "name": "customerID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.OpenStatement" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/billing/statements/{customerID}/bill/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Invoice Run" - ], - "summary": "Bill an open statement before its cycle closes", - "operationId": "billStatementNow", - "parameters": [ - { - "type": "string", - "description": "Customer ID", - "name": "customerID", - "in": "path", - "required": true - }, - { - "description": "Reason for billing early", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_invoicerunhandler.billStatementRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.CommitInvoiceRunResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/carriers/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Carriers" - ], - "summary": "List carriers", - "operationId": "listCarriers", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "JSON array of field filters", - "name": "fieldFilters", - "in": "query" - }, - { - "type": "string", - "description": "JSON array of grouped filters", - "name": "filterGroups", - "in": "query" - }, - { - "type": "string", - "description": "JSON array of sort fields", - "name": "sort", - "in": "query" - }, - { - "type": "boolean", - "description": "Include state relationships", - "name": "includeState", - "in": "query" - }, - { - "type": "boolean", - "description": "Include carrier contacts", - "name": "includeContacts", - "in": "query" - }, - { - "type": "boolean", - "description": "Include carrier insurance policies", - "name": "includeInsurancePolicies", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_carrier_Carrier" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Carriers" - ], - "summary": "Create a carrier", - "operationId": "createCarrier", - "parameters": [ - { - "description": "Carrier payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/carriers/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Carriers" - ], - "summary": "Bulk update carrier statuses", - "operationId": "bulkUpdateCarrierStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateCarrierStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/carriers/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Carriers" - ], - "summary": "List carrier options", - "operationId": "listCarrierOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_carrier_Carrier" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/carriers/select-options/{carrierID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Carriers" - ], - "summary": "Get a carrier option", - "operationId": "getCarrierOption", - "parameters": [ - { - "type": "string", - "description": "Carrier ID", - "name": "carrierID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/carriers/{carrierID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Carriers" - ], - "summary": "Get a carrier", - "operationId": "getCarrier", - "parameters": [ - { - "type": "string", - "description": "Carrier ID", - "name": "carrierID", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Include state relationships", - "name": "includeState", - "in": "query" - }, - { - "type": "boolean", - "description": "Include carrier contacts", - "name": "includeContacts", - "in": "query" - }, - { - "type": "boolean", - "description": "Include carrier insurance policies", - "name": "includeInsurancePolicies", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Carriers" - ], - "summary": "Update a carrier", - "operationId": "updateCarrier", - "parameters": [ - { - "type": "string", - "description": "Carrier ID", - "name": "carrierID", - "in": "path", - "required": true - }, - { - "description": "Carrier payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Carriers" - ], - "summary": "Patch a carrier", - "operationId": "patchCarrier", - "parameters": [ - { - "type": "string", - "description": "Carrier ID", - "name": "carrierID", - "in": "path", - "required": true - }, - { - "description": "Partial carrier payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/commodities/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Commodities" - ], - "summary": "List commodities", - "operationId": "listCommodities", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_commodity_Commodity" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Commodities" - ], - "summary": "Create a commodity", - "operationId": "createCommodity", - "parameters": [ - { - "description": "Commodity payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/commodities/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Commodities" - ], - "summary": "Bulk update commodity statuses", - "operationId": "bulkUpdateCommodityStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateCommodityStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/commodities/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Commodities" - ], - "summary": "List commodity options", - "operationId": "listCommodityOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_commodity_Commodity" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/commodities/select-options/{commodityID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Commodities" - ], - "summary": "Get a commodity option", - "operationId": "getCommodityOption", - "parameters": [ - { - "type": "string", - "description": "Commodity ID", - "name": "commodityID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/commodities/{commodityID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Commodities" - ], - "summary": "Get a commodity", - "operationId": "getCommodity", - "parameters": [ - { - "type": "string", - "description": "Commodity ID", - "name": "commodityID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Commodities" - ], - "summary": "Update a commodity", - "operationId": "updateCommodity", - "parameters": [ - { - "type": "string", - "description": "Commodity ID", - "name": "commodityID", - "in": "path", - "required": true - }, - { - "description": "Commodity payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Commodities" - ], - "summary": "Patch a commodity", - "operationId": "patchCommodity", - "parameters": [ - { - "type": "string", - "description": "Commodity ID", - "name": "commodityID", - "in": "path", - "required": true - }, - { - "description": "Partial commodity payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/custom-fields/definitions/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Custom Fields" - ], - "summary": "List custom field definitions", - "operationId": "listCustomFieldDefinitions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "Filter by resource type", - "name": "resourceType", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_customfield_CustomFieldDefinition" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Custom Fields" - ], - "summary": "Create a custom field definition", - "operationId": "createCustomFieldDefinition", - "parameters": [ - { - "description": "Custom field definition payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.CustomFieldDefinition" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.CustomFieldDefinition" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/custom-fields/definitions/{definitionID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Custom Fields" - ], - "summary": "Get a custom field definition", - "operationId": "getCustomFieldDefinition", - "parameters": [ - { - "type": "string", - "description": "Custom field definition ID", - "name": "definitionID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.CustomFieldDefinition" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Custom Fields" - ], - "summary": "Update a custom field definition", - "operationId": "updateCustomFieldDefinition", - "parameters": [ - { - "type": "string", - "description": "Custom field definition ID", - "name": "definitionID", - "in": "path", - "required": true - }, - { - "description": "Custom field definition payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.CustomFieldDefinition" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.CustomFieldDefinition" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Custom Fields" - ], - "summary": "Delete a custom field definition", - "operationId": "deleteCustomFieldDefinition", - "parameters": [ - { - "type": "string", - "description": "Custom field definition ID", - "name": "definitionID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Custom Fields" - ], - "summary": "Patch a custom field definition", - "operationId": "patchCustomFieldDefinition", - "parameters": [ - { - "type": "string", - "description": "Custom field definition ID", - "name": "definitionID", - "in": "path", - "required": true - }, - { - "description": "Custom field definition payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.CustomFieldDefinition" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.CustomFieldDefinition" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/custom-fields/resource-types/": { - "get": { - "produces": [ - "application/json" - ], - "tags": [ - "Custom Fields" - ], - "summary": "List supported custom field resource types", - "operationId": "listCustomFieldResourceTypes", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/custom-fields/resources/{resourceType}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Custom Fields" - ], - "summary": "List active custom field definitions by resource type", - "operationId": "getCustomFieldsByResourceType", - "parameters": [ - { - "type": "string", - "description": "Custom field resource type", - "name": "resourceType", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.CustomFieldDefinition" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/customers/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Customers" - ], - "summary": "List customers", - "operationId": "listCustomers", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "JSON array of field filters", - "name": "fieldFilters", - "in": "query" - }, - { - "type": "string", - "description": "JSON array of grouped filters", - "name": "filterGroups", - "in": "query" - }, - { - "type": "string", - "description": "JSON array of sort fields", - "name": "sort", - "in": "query" - }, - { - "type": "string", - "description": "JSON array of geographic filters", - "name": "geoFilters", - "in": "query" - }, - { - "type": "string", - "description": "JSON array of aggregate filters", - "name": "aggregateFilters", - "in": "query" - }, - { - "type": "boolean", - "description": "Include state relationship", - "name": "includeState", - "in": "query" - }, - { - "type": "boolean", - "description": "Include customer billing profile and document types", - "name": "includeBillingProfile", - "in": "query" - }, - { - "type": "boolean", - "description": "Include customer email profile", - "name": "includeEmailProfile", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_customer_Customer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Customers" - ], - "summary": "Create a customer", - "operationId": "createCustomer", - "parameters": [ - { - "description": "Customer payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/customers/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Customers" - ], - "summary": "Bulk update customer statuses", - "operationId": "bulkUpdateCustomerStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateCustomerStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/customers/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Customers" - ], - "summary": "List customer options", - "operationId": "listCustomerOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_customer_Customer" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/customers/select-options/{customerID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Customers" - ], - "summary": "Get a customer option", - "operationId": "getCustomerOption", - "parameters": [ - { - "type": "string", - "description": "Customer ID", - "name": "customerID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/customers/{customerID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Customers" - ], - "summary": "Get a customer", - "operationId": "getCustomer", - "parameters": [ - { - "type": "string", - "description": "Customer ID", - "name": "customerID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Customers" - ], - "summary": "Update a customer", - "operationId": "updateCustomer", - "parameters": [ - { - "type": "string", - "description": "Customer ID", - "name": "customerID", - "in": "path", - "required": true - }, - { - "description": "Customer payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Customers" - ], - "summary": "Patch a customer", - "operationId": "patchCustomer", - "parameters": [ - { - "type": "string", - "description": "Customer ID", - "name": "customerID", - "in": "path", - "required": true - }, - { - "description": "Partial customer payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention-policies/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention Policies" - ], - "summary": "List detention policies", - "operationId": "listDetentionPolicies", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "Filter by status", - "name": "status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_detention_DetentionPolicy" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention Policies" - ], - "summary": "Create a detention policy", - "operationId": "createDetentionPolicy", - "parameters": [ - { - "description": "Detention policy payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention-policies/preview": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention Policies" - ], - "summary": "Preview what a detention policy would charge for a scenario", - "operationId": "previewDetentionPolicy", - "parameters": [ - { - "description": "Policy and scenario", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_detentionpolicyhandler.previewRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_detentionservice.PreviewResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention-policies/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention Policies" - ], - "summary": "List detention policy options", - "operationId": "listDetentionPolicyOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_detention_DetentionPolicy" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention-policies/select-options/{detentionPolicyID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention Policies" - ], - "summary": "Get a detention policy option", - "operationId": "getDetentionPolicyOption", - "parameters": [ - { - "type": "string", - "description": "Detention policy ID", - "name": "detentionPolicyID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention-policies/{detentionPolicyID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention Policies" - ], - "summary": "Get a detention policy", - "operationId": "getDetentionPolicy", - "parameters": [ - { - "type": "string", - "description": "Detention policy ID", - "name": "detentionPolicyID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention Policies" - ], - "summary": "Update a detention policy", - "operationId": "updateDetentionPolicy", - "parameters": [ - { - "type": "string", - "description": "Detention policy ID", - "name": "detentionPolicyID", - "in": "path", - "required": true - }, - { - "description": "Detention policy payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention Policies" - ], - "summary": "Delete a detention policy", - "operationId": "deleteDetentionPolicy", - "parameters": [ - { - "type": "string", - "description": "Detention policy ID", - "name": "detentionPolicyID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/backtest": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "Backtest a detention policy against settled history", - "operationId": "backtestDetentionPolicy", - "parameters": [ - { - "description": "Backtest request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_detentionservice.BacktestRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_detentionservice.BacktestResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/customers/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "Detention margin per customer", - "operationId": "listDetentionCustomerProfiles", - "parameters": [ - { - "type": "integer", - "description": "Window start (unix seconds)", - "name": "from", - "in": "query" - }, - { - "type": "integer", - "description": "Window end (unix seconds)", - "name": "to", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.CustomerDetentionStat" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/desk/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "List the live detention desk", - "operationId": "listDetentionDesk", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_detentionservice.DeskEntry" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/facilities/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "Detention profile per facility", - "operationId": "listDetentionFacilityProfiles", - "parameters": [ - { - "type": "integer", - "description": "Window start (unix seconds)", - "name": "from", - "in": "query" - }, - { - "type": "integer", - "description": "Window end (unix seconds)", - "name": "to", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.FacilityDetentionStat" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/occurrences/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "List detention occurrences", - "operationId": "listDetentionOccurrences", - "parameters": [ - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "Filter by status", - "name": "status", - "in": "query" - }, - { - "type": "string", - "description": "Filter by shipment", - "name": "shipmentId", - "in": "query" - }, - { - "type": "boolean", - "description": "Only still-accruing occurrences", - "name": "openOnly", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_detention_DetentionOccurrence" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/occurrences/{occurrenceID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "Get a detention occurrence with its evidence and defensibility score", - "operationId": "getDetentionOccurrence", - "parameters": [ - { - "type": "string", - "description": "Occurrence ID", - "name": "occurrenceID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_detentionservice.OccurrenceDetail" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/occurrences/{occurrenceID}/approve": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "Approve a detention charge for billing", - "operationId": "approveDetentionOccurrence", - "parameters": [ - { - "type": "string", - "description": "Occurrence ID", - "name": "occurrenceID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionOccurrence" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/occurrences/{occurrenceID}/dispute": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "Record a customer dispute against a detention charge", - "operationId": "disputeDetentionOccurrence", - "parameters": [ - { - "type": "string", - "description": "Occurrence ID", - "name": "occurrenceID", - "in": "path", - "required": true - }, - { - "description": "Dispute payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_detentionhandler.disputeRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionOccurrence" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/occurrences/{occurrenceID}/dispute-packet": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "Build the dispute packet for an occurrence", - "operationId": "getDetentionDisputePacket", - "parameters": [ - { - "type": "string", - "description": "Occurrence ID", - "name": "occurrenceID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_detentionservice.DisputePacket" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/occurrences/{occurrenceID}/waive": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "Waive a detention charge", - "operationId": "waiveDetentionOccurrence", - "parameters": [ - { - "type": "string", - "description": "Occurrence ID", - "name": "occurrenceID", - "in": "path", - "required": true - }, - { - "description": "Waiver payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_detentionhandler.waiveRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionOccurrence" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/detention/waivers/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Detention" - ], - "summary": "Detention waiver leakage by coded reason", - "operationId": "listDetentionWaiverLeakage", - "parameters": [ - { - "type": "integer", - "description": "Window start (unix seconds)", - "name": "from", - "in": "query" - }, - { - "type": "integer", - "description": "Window end (unix seconds)", - "name": "to", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.WaiverLeakageStat" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/dispatch-controls/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the current dispatch control document for the authenticated tenant.", - "produces": [ - "application/json" - ], - "tags": [ - "Dispatch Controls" - ], - "summary": "Get dispatch control settings", - "operationId": "getDispatchControl", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.DispatchControl" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Dispatch Controls" - ], - "summary": "Update dispatch control settings", - "operationId": "updateDispatchControl", - "parameters": [ - { - "description": "Dispatch control payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.DispatchControl" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.DispatchControl" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/distance-overrides/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Distance Overrides" - ], - "summary": "List distance overrides", - "operationId": "listDistanceOverrides", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_distanceoverride_DistanceOverride" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Distance Overrides" - ], - "summary": "Create a distance override", - "operationId": "createDistanceOverride", - "parameters": [ - { - "description": "Distance override payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverride" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverride" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/distance-overrides/{distanceOverrideID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Distance Overrides" - ], - "summary": "Get a distance override", - "operationId": "getDistanceOverride", - "parameters": [ - { - "type": "string", - "description": "Distance override ID", - "name": "distanceOverrideID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverride" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/distance-overrides/{distanceOverrideID}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Distance Overrides" - ], - "summary": "Update a distance override", - "operationId": "updateDistanceOverride", - "parameters": [ - { - "type": "string", - "description": "Distance override ID", - "name": "distanceOverrideID", - "in": "path", - "required": true - }, - { - "description": "Distance override payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverride" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverride" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Distance Overrides" - ], - "summary": "Delete a distance override", - "operationId": "deleteDistanceOverride", - "parameters": [ - { - "type": "string", - "description": "Distance override ID", - "name": "distanceOverrideID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Distance Overrides" - ], - "summary": "Patch a distance override", - "operationId": "patchDistanceOverride", - "parameters": [ - { - "type": "string", - "description": "Distance override ID", - "name": "distanceOverrideID", - "in": "path", - "required": true - }, - { - "description": "Distance override payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverride" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverride" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/document-types/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Document Types" - ], - "summary": "List document types", - "operationId": "listDocumentTypes", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_documenttype_DocumentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Document Types" - ], - "summary": "Create a document type", - "operationId": "createDocumentType", - "parameters": [ - { - "description": "Document type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/document-types/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Document Types" - ], - "summary": "List document type options", - "operationId": "listDocumentTypeOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_documenttype_DocumentType" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/document-types/select-options/{docTypeID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Document Types" - ], - "summary": "Get a document type option", - "operationId": "getDocumentTypeOption", - "parameters": [ - { - "type": "string", - "description": "Document type ID", - "name": "docTypeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/document-types/{docTypeID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Document Types" - ], - "summary": "Get a document type", - "operationId": "getDocumentType", - "parameters": [ - { - "type": "string", - "description": "Document type ID", - "name": "docTypeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/document-types/{docTypeID}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Document Types" - ], - "summary": "Update a document type", - "operationId": "updateDocumentType", - "parameters": [ - { - "type": "string", - "description": "Document type ID", - "name": "docTypeID", - "in": "path", - "required": true - }, - { - "description": "Document type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Document Types" - ], - "summary": "Patch a document type", - "operationId": "patchDocumentType", - "parameters": [ - { - "type": "string", - "description": "Document type ID", - "name": "docTypeID", - "in": "path", - "required": true - }, - { - "description": "Partial document type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns paginated documents. Protected routes accept a Bearer token or an authenticated session cookie.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "List documents", - "operationId": "listDocuments", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "Filter by resource ID", - "name": "resourceId", - "in": "query" - }, - { - "type": "string", - "description": "Filter by resource type", - "name": "resourceType", - "in": "query" - }, - { - "type": "string", - "description": "Filter by document status", - "name": "status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_document_Document" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/bulk-delete/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "Bulk delete documents", - "operationId": "bulkDeleteDocuments", - "parameters": [ - { - "description": "Bulk delete request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_documenthandler.bulkDeleteRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/resource/{resourceType}/{resourceID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "List documents by resource", - "operationId": "listDocumentsByResource", - "parameters": [ - { - "type": "string", - "description": "Resource type", - "name": "resourceType", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Resource ID", - "name": "resourceID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.Document" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "List document options", - "operationId": "listDocumentOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "Filter by resource ID", - "name": "resourceId", - "in": "query" - }, - { - "type": "string", - "description": "Filter by resource type", - "name": "resourceType", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_document_Document" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/select-options/{documentID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "Get a document option", - "operationId": "getDocumentOption", - "parameters": [ - { - "type": "string", - "description": "Document ID", - "name": "documentID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Filter by resource ID", - "name": "resourceId", - "in": "query" - }, - { - "type": "string", - "description": "Filter by resource type", - "name": "resourceType", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.Document" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/upload-bulk/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "Bulk upload documents", - "operationId": "uploadDocumentsBulk", - "parameters": [ - { - "type": "string", - "description": "Resource ID", - "name": "resourceId", - "in": "formData", - "required": true - }, - { - "type": "string", - "description": "Resource type", - "name": "resourceType", - "in": "formData", - "required": true - }, - { - "type": "file", - "description": "Document files", - "name": "files", - "in": "formData", - "required": true - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/upload/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "Upload a document", - "operationId": "uploadDocument", - "parameters": [ - { - "type": "string", - "description": "Resource ID", - "name": "resourceId", - "in": "formData", - "required": true - }, - { - "type": "string", - "description": "Resource type", - "name": "resourceType", - "in": "formData", - "required": true - }, - { - "type": "string", - "description": "Document description", - "name": "description", - "in": "formData" - }, - { - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "csv", - "description": "Document tags", - "name": "tags", - "in": "formData" - }, - { - "type": "string", - "description": "Document type ID", - "name": "documentTypeId", - "in": "formData" - }, - { - "type": "file", - "description": "Document file", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.Document" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/{documentID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "Get a document", - "operationId": "getDocument", - "parameters": [ - { - "type": "string", - "description": "Document ID", - "name": "documentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.Document" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Documents" - ], - "summary": "Delete a document", - "operationId": "deleteDocument", - "parameters": [ - { - "type": "string", - "description": "Document ID", - "name": "documentID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/{documentID}/download/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "Get a document download URL", - "operationId": "downloadDocument", - "parameters": [ - { - "type": "string", - "description": "Document ID", - "name": "documentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/{documentID}/preview/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "Get a document preview URL", - "operationId": "previewDocument", - "parameters": [ - { - "type": "string", - "description": "Document ID", - "name": "documentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/documents/{documentID}/view/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Documents" - ], - "summary": "Get a document view URL", - "operationId": "viewDocument", - "parameters": [ - { - "type": "string", - "description": "Document ID", - "name": "documentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/dot-hazmat-references/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "DOT Hazmat References" - ], - "summary": "List DOT hazmat reference options", - "operationId": "listDotHazmatReferenceOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_dothazmatreference_DotHazmatReference" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/dot-hazmat-references/select-options/{dotHazmatReferenceID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "DOT Hazmat References" - ], - "summary": "Get a DOT hazmat reference option", - "operationId": "getDotHazmatReferenceOption", - "parameters": [ - { - "type": "string", - "description": "DOT hazmat reference ID", - "name": "dotHazmatReferenceID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_dothazmatreference.DotHazmatReference" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/equipment-manufacturers/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Manufacturers" - ], - "summary": "List equipment manufacturers", - "operationId": "listEquipmentManufacturers", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer_EquipmentManufacturer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Manufacturers" - ], - "summary": "Create an equipment manufacturer", - "operationId": "createEquipmentManufacturer", - "parameters": [ - { - "description": "Equipment manufacturer payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/equipment-manufacturers/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Manufacturers" - ], - "summary": "List equipment manufacturer options", - "operationId": "listEquipmentManufacturerOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer_EquipmentManufacturer" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/equipment-manufacturers/select-options/{equipManufacturerID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Manufacturers" - ], - "summary": "Get an equipment manufacturer option", - "operationId": "getEquipmentManufacturerOption", - "parameters": [ - { - "type": "string", - "description": "Equipment manufacturer ID", - "name": "equipManufacturerID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/equipment-manufacturers/{equipManufacturerID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Manufacturers" - ], - "summary": "Get an equipment manufacturer", - "operationId": "getEquipmentManufacturer", - "parameters": [ - { - "type": "string", - "description": "Equipment manufacturer ID", - "name": "equipManufacturerID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Manufacturers" - ], - "summary": "Update an equipment manufacturer", - "operationId": "updateEquipmentManufacturer", - "parameters": [ - { - "type": "string", - "description": "Equipment manufacturer ID", - "name": "equipManufacturerID", - "in": "path", - "required": true - }, - { - "description": "Equipment manufacturer payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Manufacturers" - ], - "summary": "Patch an equipment manufacturer", - "operationId": "patchEquipmentManufacturer", - "parameters": [ - { - "type": "string", - "description": "Equipment manufacturer ID", - "name": "equipManufacturerID", - "in": "path", - "required": true - }, - { - "description": "Partial equipment manufacturer payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/equipment-types/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns paginated equipment types. Protected routes accept a Bearer token or an authenticated session cookie.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Types" - ], - "summary": "List all equipment types", - "operationId": "listEquipmentTypes", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "type": "string", - "description": "Cursor for the next page", - "name": "after", - "in": "query" - }, - { - "type": "array", - "items": { - "enum": [ - "Tractor", - "Trailer", - "Container", - "Other" - ], - "type": "string" - }, - "collectionFormat": "multi", - "description": "Filter by equipment class", - "name": "classes", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_equipmenttype_EquipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Types" - ], - "summary": "Create an equipment type", - "operationId": "createEquipmentType", - "parameters": [ - { - "description": "Equipment type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/equipment-types/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Types" - ], - "summary": "Bulk update equipment type statuses", - "operationId": "bulkUpdateEquipmentTypeStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateEquipmentTypeStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/equipment-types/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Types" - ], - "summary": "List equipment type select options", - "operationId": "listEquipmentTypeOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "array", - "items": { - "enum": [ - "Tractor", - "Trailer", - "Container", - "Other" - ], - "type": "string" - }, - "collectionFormat": "multi", - "description": "Filter by equipment class", - "name": "classes", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_equipmenttype_EquipmentType" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/equipment-types/select-options/{equipTypeID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Types" - ], - "summary": "Get a selectable equipment type option", - "operationId": "getEquipmentTypeOption", - "parameters": [ - { - "type": "string", - "description": "Equipment type ID", - "name": "equipTypeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/equipment-types/{equipTypeID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Types" - ], - "summary": "Get an equipment type", - "operationId": "getEquipmentType", - "parameters": [ - { - "type": "string", - "description": "Equipment type ID", - "name": "equipTypeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Types" - ], - "summary": "Update an equipment type", - "operationId": "updateEquipmentType", - "parameters": [ - { - "type": "string", - "description": "Equipment type ID", - "name": "equipTypeID", - "in": "path", - "required": true - }, - { - "description": "Equipment type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Equipment Types" - ], - "summary": "Patch an equipment type", - "operationId": "patchEquipmentType", - "parameters": [ - { - "type": "string", - "description": "Equipment type ID", - "name": "equipTypeID", - "in": "path", - "required": true - }, - { - "description": "Partial equipment type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-periods/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "List fiscal periods", - "operationId": "listFiscalPeriods", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_fiscalperiod_FiscalPeriod" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "Create a fiscal period", - "operationId": "createFiscalPeriod", - "parameters": [ - { - "description": "Fiscal period payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-periods/{fiscalPeriodID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "Get a fiscal period", - "operationId": "getFiscalPeriod", - "parameters": [ - { - "type": "string", - "description": "Fiscal period ID", - "name": "fiscalPeriodID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-periods/{fiscalPeriodID}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "Update a fiscal period", - "operationId": "updateFiscalPeriod", - "parameters": [ - { - "type": "string", - "description": "Fiscal period ID", - "name": "fiscalPeriodID", - "in": "path", - "required": true - }, - { - "description": "Fiscal period payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "Delete a fiscal period", - "operationId": "deleteFiscalPeriod", - "parameters": [ - { - "type": "string", - "description": "Fiscal period ID", - "name": "fiscalPeriodID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "Patch a fiscal period", - "operationId": "patchFiscalPeriod", - "parameters": [ - { - "type": "string", - "description": "Fiscal period ID", - "name": "fiscalPeriodID", - "in": "path", - "required": true - }, - { - "description": "Fiscal period payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-periods/{fiscalPeriodID}/activate/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "Open an inactive fiscal period", - "operationId": "activateFiscalPeriod", - "parameters": [ - { - "type": "string", - "description": "Fiscal period ID", - "name": "fiscalPeriodID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-periods/{fiscalPeriodID}/close/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "Close a fiscal period", - "operationId": "closeFiscalPeriod", - "parameters": [ - { - "type": "string", - "description": "Fiscal period ID", - "name": "fiscalPeriodID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-periods/{fiscalPeriodID}/lock/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "Lock a fiscal period", - "operationId": "lockFiscalPeriod", - "parameters": [ - { - "type": "string", - "description": "Fiscal period ID", - "name": "fiscalPeriodID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-periods/{fiscalPeriodID}/reopen/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "Reopen a fiscal period", - "operationId": "reopenFiscalPeriod", - "parameters": [ - { - "type": "string", - "description": "Fiscal period ID", - "name": "fiscalPeriodID", - "in": "path", - "required": true - }, - { - "description": "Reopen payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_fiscalperiodhandler.reopenFiscalPeriodPayload" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-periods/{fiscalPeriodID}/unlock/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Periods" - ], - "summary": "Unlock a fiscal period", - "operationId": "unlockFiscalPeriod", - "parameters": [ - { - "type": "string", - "description": "Fiscal period ID", - "name": "fiscalPeriodID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-years/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Years" - ], - "summary": "List fiscal years", - "operationId": "listFiscalYears", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "boolean", - "description": "Include fiscal periods", - "name": "includePeriods", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_fiscalyear_FiscalYear" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Years" - ], - "summary": "Create a fiscal year", - "operationId": "createFiscalYear", - "parameters": [ - { - "description": "Fiscal year payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-years/{fiscalYearID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Years" - ], - "summary": "Get a fiscal year", - "operationId": "getFiscalYear", - "parameters": [ - { - "type": "string", - "description": "Fiscal year ID", - "name": "fiscalYearID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-years/{fiscalYearID}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Years" - ], - "summary": "Update a fiscal year", - "operationId": "updateFiscalYear", - "parameters": [ - { - "type": "string", - "description": "Fiscal year ID", - "name": "fiscalYearID", - "in": "path", - "required": true - }, - { - "description": "Fiscal year payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Fiscal Years" - ], - "summary": "Delete a fiscal year", - "operationId": "deleteFiscalYear", - "parameters": [ - { - "type": "string", - "description": "Fiscal year ID", - "name": "fiscalYearID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Years" - ], - "summary": "Patch a fiscal year", - "operationId": "patchFiscalYear", - "parameters": [ - { - "type": "string", - "description": "Fiscal year ID", - "name": "fiscalYearID", - "in": "path", - "required": true - }, - { - "description": "Fiscal year payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-years/{fiscalYearID}/activate/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Years" - ], - "summary": "Activate a fiscal year", - "operationId": "activateFiscalYear", - "parameters": [ - { - "type": "string", - "description": "Fiscal year ID", - "name": "fiscalYearID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-years/{fiscalYearID}/close-preview/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Years" - ], - "summary": "Preview the accounting a fiscal year close would post", - "operationId": "previewFiscalYearClose", - "parameters": [ - { - "type": "string", - "description": "Fiscal year ID", - "name": "fiscalYearID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalclose.Plan" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-years/{fiscalYearID}/close/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Years" - ], - "summary": "Close a fiscal year", - "operationId": "closeFiscalYear", - "parameters": [ - { - "type": "string", - "description": "Fiscal year ID", - "name": "fiscalYearID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fiscal-years/{fiscalYearID}/reopen/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fiscal Years" - ], - "summary": "Reopen a closed fiscal year", - "operationId": "reopenFiscalYear", - "parameters": [ - { - "type": "string", - "description": "Fiscal year ID", - "name": "fiscalYearID", - "in": "path", - "required": true - }, - { - "description": "Reopen payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_fiscalyearhandler.reopenFiscalYearPayload" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fleet-codes/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fleet Codes" - ], - "summary": "List fleet codes", - "operationId": "listFleetCodes", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "type": "boolean", - "description": "Include fleet manager details", - "name": "includeManagerDetails", - "in": "query" - }, - { - "type": "string", - "description": "Filter by status", - "name": "status", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_fleetcode_FleetCode" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fleet Codes" - ], - "summary": "Create a fleet code", - "operationId": "createFleetCode", - "parameters": [ - { - "description": "Fleet code payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fleet-codes/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fleet Codes" - ], - "summary": "List fleet code options", - "operationId": "listFleetCodeOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_fleetcode_FleetCode" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fleet-codes/select-options/{fleetCodeID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fleet Codes" - ], - "summary": "Get a fleet code option", - "operationId": "getFleetCodeOption", - "parameters": [ - { - "type": "string", - "description": "Fleet code ID", - "name": "fleetCodeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/fleet-codes/{fleetCodeID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fleet Codes" - ], - "summary": "Get a fleet code", - "operationId": "getFleetCode", - "parameters": [ - { - "type": "string", - "description": "Fleet code ID", - "name": "fleetCodeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fleet Codes" - ], - "summary": "Update a fleet code", - "operationId": "updateFleetCode", - "parameters": [ - { - "type": "string", - "description": "Fleet code ID", - "name": "fleetCodeID", - "in": "path", - "required": true - }, - { - "description": "Fleet code payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fleet Codes" - ], - "summary": "Patch a fleet code", - "operationId": "patchFleetCode", - "parameters": [ - { - "type": "string", - "description": "Fleet code ID", - "name": "fleetCodeID", - "in": "path", - "required": true - }, - { - "description": "Partial fleet code payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "List formula templates", - "operationId": "listFormulaTemplates", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "Filter by template type", - "name": "type", - "in": "query" - }, - { - "type": "string", - "description": "Filter by template status", - "name": "status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_formulatemplate_FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Create a formula template", - "operationId": "createFormulaTemplate", - "parameters": [ - { - "description": "Formula template payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/ai/explain": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Explain a formula expression in plain English", - "operationId": "explainFormulaExpression", - "parameters": [ - { - "description": "Explanation request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulaassistantservice.ExplainFormulaRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulaassistantservice.ExplainFormulaResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/ai/generate": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Generate a formula expression from a natural-language description", - "operationId": "generateFormulaExpression", - "parameters": [ - { - "description": "Generation request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulaassistantservice.GenerateFormulaRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulaassistantservice.GenerateFormulaResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/bulk-update-status": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Bulk update formula template statuses", - "operationId": "bulkUpdateFormulaTemplateStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateFormulaTemplateStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/duplicate": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Duplicate formula templates", - "operationId": "duplicateFormulaTemplates", - "parameters": [ - { - "description": "Bulk duplicate request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkDuplicateFormulaTemplateRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/import": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Import formula templates from an exported JSON payload", - "operationId": "importFormulaTemplates", - "parameters": [ - { - "description": "Import request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ImportTemplatesRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ImportTemplatesResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/install-standards": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Install the standard formula template library for this organization", - "operationId": "installStandardFormulaTemplates", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.InstallStandardsResponse" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/schema": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Describe the variables and functions available to formula expressions", - "operationId": "getFormulaSchema", - "parameters": [ - { - "type": "string", - "default": "shipment", - "description": "Formula schema identifier", - "name": "schemaId", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatemplatetypes.SchemaDescription" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "List formula template options", - "operationId": "listFormulaTemplateOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_formulatemplate_FormulaTemplate" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/select-options/{templateID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Get a formula template option", - "operationId": "getFormulaTemplateOption", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/standards": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "List the standard formula template catalog", - "operationId": "listStandardFormulaTemplates", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.StandardTemplate" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/test": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Test a formula expression", - "operationId": "testFormulaExpression", - "parameters": [ - { - "description": "Expression test request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.testExpressionRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.TestExpressionResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Get a formula template", - "operationId": "getFormulaTemplate", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Update a formula template", - "operationId": "updateFormulaTemplate", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Formula template payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Patch a formula template", - "operationId": "patchFormulaTemplate", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Formula template payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/approve": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Approve a formula template", - "operationId": "approveFormulaTemplate", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Approve request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.approvalActionRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/backtest": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Backtest a formula template candidate against rated shipments", - "operationId": "backtestFormulaTemplate", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Backtest request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.backtestRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.BacktestResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/compare": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Compare formula template versions", - "operationId": "compareFormulaTemplateVersions", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "From version", - "name": "from", - "in": "query", - "required": true - }, - { - "type": "integer", - "description": "To version", - "name": "to", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/fork": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Fork a formula template", - "operationId": "forkFormulaTemplate", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Fork request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.forkRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/impact": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Compare a template's pending content against the versions its shipments actually priced with", - "operationId": "formulaTemplateApprovalImpact", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Impact request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.approvalImpactRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.BacktestResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/lineage": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Get formula template lineage", - "operationId": "getFormulaTemplateLineage", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/readiness": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Report whether a formula template is ready to submit or approve", - "operationId": "formulaTemplateReadiness", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ReadinessResponse" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/reject": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Reject a formula template", - "operationId": "rejectFormulaTemplate", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Reject request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.approvalActionRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/request-changes": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Request changes on a formula template under review", - "operationId": "requestFormulaTemplateChanges", - "parameters": [ - { - "type": "string", - "description": "Template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Reviewer comment", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.approvalActionRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/review-diff": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Compare a formula template's pending content with its last approved snapshot", - "operationId": "formulaTemplateReviewDiff", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ReviewDiffResponse" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/reviews": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "List the review history of a formula template", - "operationId": "listFormulaTemplateReviews", - "parameters": [ - { - "type": "string", - "description": "Template ID", - "name": "templateID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.Review" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/rollback": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Roll back a formula template", - "operationId": "rollbackFormulaTemplate", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Rollback request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.rollbackRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/submit": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Submit a formula template for review", - "operationId": "submitFormulaTemplate", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Submit request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.approvalActionRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/test-cases": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "List a formula template's saved test scenarios", - "operationId": "listFormulaTemplateTestCases", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.TestCase" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Create a test scenario for a formula template", - "operationId": "createFormulaTemplateTestCase", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Test scenario", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.TestCaseInput" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.TestCase" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/test-cases/run": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Run a formula template's test scenarios", - "operationId": "runFormulaTemplateTestCases", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Optional candidate content", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.RunTestCasesRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.RunTestCasesResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/test-cases/{testCaseID}": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Update a formula template test scenario", - "operationId": "updateFormulaTemplateTestCase", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Test scenario ID", - "name": "testCaseID", - "in": "path", - "required": true - }, - { - "description": "Test scenario", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.UpdateTestCaseRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.TestCase" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Formula Templates" - ], - "summary": "Delete a formula template test scenario", - "operationId": "deleteFormulaTemplateTestCase", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Test scenario ID", - "name": "testCaseID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/usage": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Get formula template usage", - "operationId": "getFormulaTemplateUsage", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.GetTemplateUsageResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/versions": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "List formula template versions", - "operationId": "listFormulaTemplateVersions", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_formulatemplate_FormulaTemplateVersion" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Create a formula template version", - "operationId": "createFormulaTemplateVersion", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "description": "Create version request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.createVersionRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplateVersion" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/versions/scheduled": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "List scheduled formula template versions", - "operationId": "listScheduledFormulaTemplateVersions", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplateVersion" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/versions/{versionNumber}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Get a formula template version", - "operationId": "getFormulaTemplateVersion", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Version number", - "name": "versionNumber", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplateVersion" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/versions/{versionNumber}/effective-date": { - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Update a formula template version effective date", - "operationId": "updateFormulaTemplateVersionEffectiveDate", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Version number", - "name": "versionNumber", - "in": "path", - "required": true - }, - { - "description": "Effective date update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.updateEffectiveDateRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplateVersion" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/formula-templates/{templateID}/versions/{versionNumber}/tags": { - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Formula Templates" - ], - "summary": "Update formula template version tags", - "operationId": "updateFormulaTemplateVersionTags", - "parameters": [ - { - "type": "string", - "description": "Formula template ID", - "name": "templateID", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Version number", - "name": "versionNumber", - "in": "path", - "required": true - }, - { - "description": "Version tag update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_formulatemplatehandler.updateVersionTagsRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplateVersion" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/gl-accounts/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "GL Accounts" - ], - "summary": "List GL accounts", - "operationId": "listGLAccounts", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_glaccount_GLAccount" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "GL Accounts" - ], - "summary": "Create a GL account", - "operationId": "createGLAccount", - "parameters": [ - { - "description": "GL account payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/gl-accounts/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "GL Accounts" - ], - "summary": "Bulk update GL account statuses", - "operationId": "bulkUpdateGLAccountStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateGLAccountStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/gl-accounts/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "GL Accounts" - ], - "summary": "List GL account options", - "operationId": "listGLAccountOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_glaccount_GLAccount" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/gl-accounts/select-options/{glAccountID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "GL Accounts" - ], - "summary": "Get a GL account option", - "operationId": "getGLAccountOption", - "parameters": [ - { - "type": "string", - "description": "GL account ID", - "name": "glAccountID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/gl-accounts/{glAccountID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "GL Accounts" - ], - "summary": "Get a GL account", - "operationId": "getGLAccount", - "parameters": [ - { - "type": "string", - "description": "GL account ID", - "name": "glAccountID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/gl-accounts/{glAccountID}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "GL Accounts" - ], - "summary": "Update a GL account", - "operationId": "updateGLAccount", - "parameters": [ - { - "type": "string", - "description": "GL account ID", - "name": "glAccountID", - "in": "path", - "required": true - }, - { - "description": "GL account payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "GL Accounts" - ], - "summary": "Delete a GL account", - "operationId": "deleteGLAccount", - "parameters": [ - { - "type": "string", - "description": "GL account ID", - "name": "glAccountID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "GL Accounts" - ], - "summary": "Patch a GL account", - "operationId": "patchGLAccount", - "parameters": [ - { - "type": "string", - "description": "GL account ID", - "name": "glAccountID", - "in": "path", - "required": true - }, - { - "description": "GL account payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/google-maps/autocomplete/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Resolves Google Maps place details for the provided autocomplete input.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Google Maps" - ], - "summary": "Autocomplete a location", - "operationId": "autocompleteLocation", - "parameters": [ - { - "description": "Autocomplete request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.AutoCompleteRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.AutocompleteLocationResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hazardous-materials/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazardous Materials" - ], - "summary": "List hazardous materials", - "operationId": "listHazardousMaterials", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_hazardousmaterial_HazardousMaterial" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazardous Materials" - ], - "summary": "Create a hazardous material", - "operationId": "createHazardousMaterial", - "parameters": [ - { - "description": "Hazardous material payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hazardous-materials/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazardous Materials" - ], - "summary": "Bulk update hazardous material statuses", - "operationId": "bulkUpdateHazardousMaterialStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateHazardousMaterialStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hazardous-materials/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazardous Materials" - ], - "summary": "List hazardous material options", - "operationId": "listHazardousMaterialOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_hazardousmaterial_HazardousMaterial" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hazardous-materials/select-options/{hazardousMaterialID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazardous Materials" - ], - "summary": "Get a hazardous material option", - "operationId": "getHazardousMaterialOption", - "parameters": [ - { - "type": "string", - "description": "Hazardous material ID", - "name": "hazardousMaterialID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hazardous-materials/{hazardousMaterialID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazardous Materials" - ], - "summary": "Get a hazardous material", - "operationId": "getHazardousMaterial", - "parameters": [ - { - "type": "string", - "description": "Hazardous material ID", - "name": "hazardousMaterialID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazardous Materials" - ], - "summary": "Update a hazardous material", - "operationId": "updateHazardousMaterial", - "parameters": [ - { - "type": "string", - "description": "Hazardous material ID", - "name": "hazardousMaterialID", - "in": "path", - "required": true - }, - { - "description": "Hazardous material payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazardous Materials" - ], - "summary": "Patch a hazardous material", - "operationId": "patchHazardousMaterial", - "parameters": [ - { - "type": "string", - "description": "Hazardous material ID", - "name": "hazardousMaterialID", - "in": "path", - "required": true - }, - { - "description": "Partial hazardous material payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hazmat-segregation-rules/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazmat Segregation Rules" - ], - "summary": "List hazmat segregation rules", - "operationId": "listHazmatSegregationRules", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule_HazmatSegregationRule" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazmat Segregation Rules" - ], - "summary": "Create a hazmat segregation rule", - "operationId": "createHazmatSegregationRule", - "parameters": [ - { - "description": "Hazmat segregation rule payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.HazmatSegregationRule" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.HazmatSegregationRule" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hazmat-segregation-rules/{hazmatSegregationRuleID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazmat Segregation Rules" - ], - "summary": "Get a hazmat segregation rule", - "operationId": "getHazmatSegregationRule", - "parameters": [ - { - "type": "string", - "description": "Hazmat segregation rule ID", - "name": "hazmatSegregationRuleID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.HazmatSegregationRule" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hazmat-segregation-rules/{hazmatSegregationRuleID}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazmat Segregation Rules" - ], - "summary": "Update a hazmat segregation rule", - "operationId": "updateHazmatSegregationRule", - "parameters": [ - { - "type": "string", - "description": "Hazmat segregation rule ID", - "name": "hazmatSegregationRuleID", - "in": "path", - "required": true - }, - { - "description": "Hazmat segregation rule payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.HazmatSegregationRule" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.HazmatSegregationRule" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hazmat Segregation Rules" - ], - "summary": "Patch a hazmat segregation rule", - "operationId": "patchHazmatSegregationRule", - "parameters": [ - { - "type": "string", - "description": "Hazmat segregation rule ID", - "name": "hazmatSegregationRuleID", - "in": "path", - "required": true - }, - { - "description": "Hazmat segregation rule payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.HazmatSegregationRule" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.HazmatSegregationRule" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hold-reasons/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hold Reasons" - ], - "summary": "List hold reasons", - "operationId": "listHoldReasons", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_holdreason_HoldReason" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hold Reasons" - ], - "summary": "Create a hold reason", - "operationId": "createHoldReason", - "parameters": [ - { - "description": "Hold reason payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hold-reasons/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hold Reasons" - ], - "summary": "List hold reason options", - "operationId": "listHoldReasonOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_holdreason_HoldReason" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hold-reasons/select-options/{holdReasonID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hold Reasons" - ], - "summary": "Get a hold reason option", - "operationId": "getHoldReasonOption", - "parameters": [ - { - "type": "string", - "description": "Hold reason ID", - "name": "holdReasonID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/hold-reasons/{holdReasonID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hold Reasons" - ], - "summary": "Get a hold reason", - "operationId": "getHoldReason", - "parameters": [ - { - "type": "string", - "description": "Hold reason ID", - "name": "holdReasonID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hold Reasons" - ], - "summary": "Update a hold reason", - "operationId": "updateHoldReason", - "parameters": [ - { - "type": "string", - "description": "Hold reason ID", - "name": "holdReasonID", - "in": "path", - "required": true - }, - { - "description": "Hold reason payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Hold Reasons" - ], - "summary": "Patch a hold reason", - "operationId": "patchHoldReason", - "parameters": [ - { - "type": "string", - "description": "Hold reason ID", - "name": "holdReasonID", - "in": "path", - "required": true - }, - { - "description": "Partial hold reason payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/jurisdiction-rule-overrides/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Holds this organization to a stricter limit than a state requires. An override that would loosen a statutory limit is rejected.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jurisdiction Rules" - ], - "summary": "Create a carrier override", - "operationId": "createJurisdictionRuleOverride", - "parameters": [ - { - "description": "Override payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.Override" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.Override" - } - } - } - } - }, - "/jurisdiction-rule-overrides/{overrideID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jurisdiction Rules" - ], - "summary": "Get a carrier override", - "operationId": "getJurisdictionRuleOverride", - "parameters": [ - { - "type": "string", - "description": "Override ID", - "name": "overrideID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.Override" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jurisdiction Rules" - ], - "summary": "Update a carrier override", - "operationId": "updateJurisdictionRuleOverride", - "parameters": [ - { - "type": "string", - "description": "Override ID", - "name": "overrideID", - "in": "path", - "required": true - }, - { - "description": "Override payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.Override" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.Override" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns this jurisdiction to its statutory limits.", - "produces": [ - "application/json" - ], - "tags": [ - "Jurisdiction Rules" - ], - "summary": "Remove a carrier override", - "operationId": "deleteJurisdictionRuleOverride", - "parameters": [ - { - "type": "string", - "description": "Override ID", - "name": "overrideID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/jurisdiction-rules/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Shared oversize limits per state. This data is global — every organization reads the same rows.", - "produces": [ - "application/json" - ], - "tags": [ - "Jurisdiction Rules" - ], - "summary": "List jurisdiction rules", - "operationId": "listJurisdictionRules", - "parameters": [ - { - "type": "string", - "description": "Filter by verification state", - "name": "verificationState", - "in": "query" - }, - { - "type": "string", - "description": "Filter by status", - "name": "status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.ListResult-github_com_emoss08_trenova_internal_core_domain_jurisdictionrule_JurisdictionRule" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Creates a globally visible rule. It always lands unverified; use the verify endpoint to confirm it.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jurisdiction Rules" - ], - "summary": "Create a jurisdiction rule", - "operationId": "createJurisdictionRule", - "parameters": [ - { - "description": "Rule payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.JurisdictionRule" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.JurisdictionRule" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/jurisdiction-rules/{ruleID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jurisdiction Rules" - ], - "summary": "Get a jurisdiction rule", - "operationId": "getJurisdictionRule", - "parameters": [ - { - "type": "string", - "description": "Rule ID", - "name": "ruleID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.JurisdictionRule" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Changing any limit, permit term or curfew resets the rule to unverified.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jurisdiction Rules" - ], - "summary": "Update a jurisdiction rule", - "operationId": "updateJurisdictionRule", - "parameters": [ - { - "type": "string", - "description": "Rule ID", - "name": "ruleID", - "in": "path", - "required": true - }, - { - "description": "Rule payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.JurisdictionRule" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.JurisdictionRule" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/jurisdiction-rules/{ruleID}/verify/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Records that this rule was checked against the issuing state. Writes only the verification columns, so it cannot alter the limits it is confirming.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Jurisdiction Rules" - ], - "summary": "Verify or dispute a jurisdiction rule", - "operationId": "verifyJurisdictionRule", - "parameters": [ - { - "type": "string", - "description": "Rule ID", - "name": "ruleID", - "in": "path", - "required": true - }, - { - "description": "Verification payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_jurisdictionrulehandler.verifyBody" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.JurisdictionRule" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/location-categories/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Location Categories" - ], - "summary": "List location categories", - "operationId": "listLocationCategories", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_locationcategory_LocationCategory" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Location Categories" - ], - "summary": "Create a location category", - "operationId": "createLocationCategory", - "parameters": [ - { - "description": "Location category payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/location-categories/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Location Categories" - ], - "summary": "List location category options", - "operationId": "listLocationCategoryOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_locationcategory_LocationCategory" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/location-categories/select-options/{locationCategoryID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Location Categories" - ], - "summary": "Get a location category option", - "operationId": "getLocationCategoryOption", - "parameters": [ - { - "type": "string", - "description": "Location category ID", - "name": "locationCategoryID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/location-categories/{locationCategoryID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Location Categories" - ], - "summary": "Get a location category", - "operationId": "getLocationCategory", - "parameters": [ - { - "type": "string", - "description": "Location category ID", - "name": "locationCategoryID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Location Categories" - ], - "summary": "Update a location category", - "operationId": "updateLocationCategory", - "parameters": [ - { - "type": "string", - "description": "Location category ID", - "name": "locationCategoryID", - "in": "path", - "required": true - }, - { - "description": "Location category payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Location Categories" - ], - "summary": "Patch a location category", - "operationId": "patchLocationCategory", - "parameters": [ - { - "type": "string", - "description": "Location category ID", - "name": "locationCategoryID", - "in": "path", - "required": true - }, - { - "description": "Partial location category payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/locations/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "List locations", - "operationId": "listLocations", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_location_Location" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Create a location", - "operationId": "createLocation", - "parameters": [ - { - "description": "Location payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/locations/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Bulk update location statuses", - "operationId": "bulkUpdateLocationStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateLocationStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/locations/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "List location options", - "operationId": "listLocationOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_location_Location" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/locations/select-options/{locationID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Get a location option", - "operationId": "getLocationOption", - "parameters": [ - { - "type": "string", - "description": "Location ID", - "name": "locationID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/locations/{locationID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Get a location", - "operationId": "getLocation", - "parameters": [ - { - "type": "string", - "description": "Location ID", - "name": "locationID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Update a location", - "operationId": "updateLocation", - "parameters": [ - { - "type": "string", - "description": "Location ID", - "name": "locationID", - "in": "path", - "required": true - }, - { - "description": "Location payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Locations" - ], - "summary": "Patch a location", - "operationId": "patchLocation", - "parameters": [ - { - "type": "string", - "description": "Location ID", - "name": "locationID", - "in": "path", - "required": true - }, - { - "description": "Partial location payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/me/permissions": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the lightweight permission manifest for the authenticated actor.", - "produces": [ - "application/json" - ], - "tags": [ - "Permissions" - ], - "summary": "Get permission manifest", - "operationId": "getPermissionManifest", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.LightPermissionManifest" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/me/permissions/check": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Checks multiple resource-operation pairs for the authenticated actor.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Permissions" - ], - "summary": "Check permissions in batch", - "operationId": "checkPermissionsBatch", - "parameters": [ - { - "description": "Batch permission check request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_permissionhandler.batchCheckRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.BatchPermissionCheckResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/me/permissions/version": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the manifest checksum and expiration timestamp for cache validation.", - "produces": [ - "application/json" - ], - "tags": [ - "Permissions" - ], - "summary": "Get permission manifest version", - "operationId": "getPermissionManifestVersion", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/me/permissions/{resource}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the effective permissions for a single resource.", - "produces": [ - "application/json" - ], - "tags": [ - "Permissions" - ], - "summary": "Get resource permissions", - "operationId": "getResourcePermissions", - "parameters": [ - { - "type": "string", - "description": "Resource name", - "name": "resource", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ResourcePermissionDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/organizations/{id}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Organizations" - ], - "summary": "Get an organization", - "operationId": "getOrganization", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "id", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Include state details", - "name": "includeState", - "in": "query" - }, - { - "type": "boolean", - "description": "Include business unit details", - "name": "includeBu", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Organizations" - ], - "summary": "Update an organization", - "operationId": "updateOrganization", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "id", - "in": "path", - "required": true - }, - { - "description": "Organization payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/organizations/{id}/logo": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Organizations" - ], - "summary": "Get organization logo URL", - "operationId": "getOrganizationLogoURL", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.GetLogoURLResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Organizations" - ], - "summary": "Upload an organization logo", - "operationId": "uploadOrganizationLogo", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "id", - "in": "path", - "required": true - }, - { - "type": "file", - "description": "Logo file", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Organizations" - ], - "summary": "Delete an organization logo", - "operationId": "deleteOrganizationLogo", - "parameters": [ - { - "type": "string", - "description": "Organization ID", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/page-favorites/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the current user's page favorites.", - "produces": [ - "application/json" - ], - "tags": [ - "Page Favorites" - ], - "summary": "List page favorites", - "operationId": "listPageFavorites", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_pagefavorite.PageFavorite" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/page-favorites/check": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns whether the current user has favorited the requested page URL.", - "produces": [ - "application/json" - ], - "tags": [ - "Page Favorites" - ], - "summary": "Check whether a page is favorited", - "operationId": "checkPageFavorite", - "parameters": [ - { - "type": "string", - "description": "Page URL", - "name": "pageUrl", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/page-favorites/toggle": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Adds or removes a page favorite for the current user.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Page Favorites" - ], - "summary": "Toggle a page favorite", - "operationId": "togglePageFavorite", - "parameters": [ - { - "description": "Page favorite toggle request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_pagefavoritehandler.toggleRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_pagefavoriteservice.ToggleResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/permissions/operations": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns all registered permission operations.", - "produces": [ - "application/json" - ], - "tags": [ - "Permissions" - ], - "summary": "List available permission operations", - "operationId": "getAvailablePermissionOperations", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Operation" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/permissions/resources": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns all registered permission resources grouped by category.", - "produces": [ - "application/json" - ], - "tags": [ - "Permissions" - ], - "summary": "List available permission resources", - "operationId": "getAvailablePermissionResources", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/internal_api_handlers_permissionhandler.resourceCategoryResponse" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/portal/credentials/{credentialID}/document": { - "post": { - "description": "Files a photo or scan against the credential so the office can verify and renew it.", - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DriverPortal" - ], - "summary": "Upload a renewal document for one of the driver's credentials", - "operationId": "uploadPortalCredentialDocument", - "parameters": [ - { - "type": "string", - "description": "Credential ID", - "name": "credentialID", - "in": "path", - "required": true - }, - { - "type": "file", - "description": "Document file", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_driverportalservice.PortalDocument" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/portal/document-types": { - "get": { - "description": "Returns the carrier's shipment-category document types (POD, BOL, ...) for tagging uploads.", - "produces": [ - "application/json" - ], - "tags": [ - "DriverPortal" - ], - "summary": "List shipment document types for the driver portal", - "operationId": "listPortalShipmentDocumentTypes", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_driverportalservice.PortalDocumentType" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/portal/expenses/{expenseID}/receipt": { - "post": { - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DriverPortal" - ], - "summary": "Attach a receipt photo to one of the signed-in driver's expenses", - "operationId": "uploadPortalExpenseReceipt", - "parameters": [ - { - "type": "string", - "description": "Expense ID", - "name": "expenseID", - "in": "path", - "required": true - }, - { - "type": "file", - "description": "Receipt image", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_driverpay.Expense" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/portal/invitations/accept": { - "post": { - "description": "Creates the driver's portal account from a pending invitation token and chosen password.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DriverPortal" - ], - "summary": "Accept a driver portal invitation", - "operationId": "acceptPortalInvitation", - "parameters": [ - { - "description": "Invitation acceptance", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_driverportalhandler.acceptInvitationRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_driverportalservice.AcceptInvitationResult" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/portal/invitations/preview": { - "get": { - "description": "Returns the carrier and driver context for a pending invitation token so the accept page can render.", - "produces": [ - "application/json" - ], - "tags": [ - "DriverPortal" - ], - "summary": "Preview a driver portal invitation", - "operationId": "previewPortalInvitation", - "parameters": [ - { - "type": "string", - "description": "Invitation token", - "name": "token", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_driverportalservice.InvitationPreview" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/portal/loads/{shipmentID}/documents": { - "get": { - "produces": [ - "application/json" - ], - "tags": [ - "DriverPortal" - ], - "summary": "List the signed-in driver's documents for a load", - "operationId": "listPortalLoadDocuments", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_driverportalservice.PortalDocument" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DriverPortal" - ], - "summary": "Upload a document (POD, BOL photo) to one of the signed-in driver's loads", - "operationId": "uploadPortalLoadDocument", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "file", - "description": "Document file", - "name": "file", - "in": "formData", - "required": true - }, - { - "type": "string", - "description": "Document type", - "name": "documentTypeId", - "in": "formData" - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_driverportalservice.PortalDocument" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/portal/profile/document-types": { - "get": { - "description": "Returns the carrier's worker-category document types (CDL, medical card, ...) for tagging qualification-file uploads.", - "produces": [ - "application/json" - ], - "tags": [ - "DriverPortal" - ], - "summary": "List worker document types for the driver portal", - "operationId": "listPortalWorkerDocumentTypes", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_driverportalservice.PortalDocumentType" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/portal/profile/documents": { - "get": { - "produces": [ - "application/json" - ], - "tags": [ - "DriverPortal" - ], - "summary": "List the signed-in driver's qualification-file documents", - "operationId": "listPortalProfileDocuments", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_driverportalservice.PortalDocument" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DriverPortal" - ], - "summary": "Upload a qualification-file document (license, medical card, ...)", - "operationId": "uploadPortalProfileDocument", - "parameters": [ - { - "type": "file", - "description": "Document file", - "name": "file", - "in": "formData", - "required": true - }, - { - "type": "string", - "description": "Document type", - "name": "documentTypeId", - "in": "formData" - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_driverportalservice.PortalDocument" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/push/public-key": { - "get": { - "produces": [ - "application/json" - ], - "tags": [ - "Push" - ], - "summary": "Get the VAPID public key for web push", - "operationId": "getPushPublicKey", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/internal_api_handlers_pushhandler.publicKeyResponse" - } - } - } - } - }, - "/push/subscriptions": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Push" - ], - "summary": "Register a web push subscription for the authenticated user", - "operationId": "createPushSubscription", - "parameters": [ - { - "description": "Push subscription keys", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_pushhandler.subscribeRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_notification.PushSubscription" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "consumes": [ - "application/json" - ], - "tags": [ - "Push" - ], - "summary": "Remove a web push subscription for the authenticated user", - "operationId": "deletePushSubscription", - "responses": { - "204": { - "description": "No Content" - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-agreements/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "List rate agreements", - "operationId": "listRateAgreements", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "enum": [ - "Customer", - "Carrier" - ], - "type": "string", - "description": "Filter by party type", - "name": "partyType", - "in": "query" - }, - { - "type": "string", - "description": "Filter by status", - "name": "status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_rateagreement_RateAgreement" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "Create a rate agreement", - "operationId": "createRateAgreement", - "parameters": [ - { - "description": "Rate agreement payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-agreements/rate-increase/apply/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Closes out every affected rule and inserts its successor at the new rate, effective the announced date. History is never mutated — the old rates stay readable forever.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "Apply a general rate increase", - "operationId": "applyRateIncrease", - "parameters": [ - { - "description": "Scope, adjustment, and effective date", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_rateagreementservice.RateIncreaseRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_rateagreementservice.RateIncreasePlan" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-agreements/rate-increase/preview/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Answers what a bulk rate change would do — every lane's before and after — without doing any of it.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "Preview a general rate increase", - "operationId": "previewRateIncrease", - "parameters": [ - { - "description": "Scope, adjustment, and effective date", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_rateagreementservice.RateIncreaseRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_rateagreementservice.RateIncreasePlan" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-agreements/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "List rate agreement options", - "operationId": "listRateAgreementOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_rateagreement_RateAgreement" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-agreements/{rateAgreementID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "Get a rate agreement", - "operationId": "getRateAgreement", - "parameters": [ - { - "type": "string", - "description": "Rate agreement ID", - "name": "rateAgreementID", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Include rules, accessorials and the fuel binding", - "name": "includeChildren", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "Update a rate agreement", - "operationId": "updateRateAgreement", - "parameters": [ - { - "type": "string", - "description": "Rate agreement ID", - "name": "rateAgreementID", - "in": "path", - "required": true - }, - { - "description": "Rate agreement payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-agreements/{rateAgreementID}/duplicate/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Copies the whole contract — lanes, breaks, accessorials, fuel terms — as a fresh draft with none of the original's history or approvals. The renewal workflow starts here.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "Duplicate a rate agreement", - "operationId": "duplicateRateAgreement", - "parameters": [ - { - "type": "string", - "description": "Rate agreement ID", - "name": "rateAgreementID", - "in": "path", - "required": true - }, - { - "description": "Optional code and name for the copy", - "name": "request", - "in": "body", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_rateagreementservice.DuplicateRateAgreementRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-agreements/{rateAgreementID}/rules": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "List a rate agreement's rules", - "operationId": "listRateAgreementRules", - "parameters": [ - { - "type": "string", - "description": "Rate agreement ID", - "name": "rateAgreementID", - "in": "path", - "required": true - }, - { - "type": "integer", - "description": "Only rules effective at this epoch second", - "name": "asOf", - "in": "query" - }, - { - "type": "boolean", - "description": "Include rules that are not active", - "name": "includeInactive", - "in": "query" - }, - { - "type": "string", - "description": "Only rules on this lane", - "name": "laneKey", - "in": "query" - }, - { - "type": "boolean", - "description": "Keep closed-out rules — the lane's full history, newest first", - "name": "includeSuperseded", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementRule" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-agreements/{rateAgreementID}/rules/amend": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Closes out the rules a change replaces and inserts their successors, in one transaction. Nothing is edited in place, so the superseded rates keep their history.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "Amend a rate agreement's rules", - "operationId": "amendRateAgreementRules", - "parameters": [ - { - "type": "string", - "description": "Rate agreement ID", - "name": "rateAgreementID", - "in": "path", - "required": true - }, - { - "description": "Amendment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_rateagreementhandler.amendRulesRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-agreements/{rateAgreementID}/versions": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Agreements" - ], - "summary": "List a rate agreement's versions", - "operationId": "listRateAgreementVersions", - "parameters": [ - { - "type": "string", - "description": "Rate agreement ID", - "name": "rateAgreementID", - "in": "path", - "required": true - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_rateagreement_RateAgreementVersion" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-confirmations/{rateConfirmationID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "RateConfirmations" - ], - "summary": "Get a rate confirmation", - "operationId": "getRateConfirmation", - "parameters": [ - { - "type": "string", - "description": "Rate confirmation ID", - "name": "rateConfirmationID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateconfirmation.RateConfirmation" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-confirmations/{rateConfirmationID}/confirm/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "RateConfirmations" - ], - "summary": "Mark a rate confirmation as confirmed by the carrier", - "operationId": "confirmRateConfirmation", - "parameters": [ - { - "type": "string", - "description": "Rate confirmation ID", - "name": "rateConfirmationID", - "in": "path", - "required": true - }, - { - "description": "Confirmation payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_rateconfirmationhandler.confirmRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateconfirmation.RateConfirmation" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-confirmations/{rateConfirmationID}/send/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "RateConfirmations" - ], - "summary": "Send a rate confirmation to the carrier", - "operationId": "sendRateConfirmation", - "parameters": [ - { - "type": "string", - "description": "Rate confirmation ID", - "name": "rateConfirmationID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateconfirmation.RateConfirmation" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-confirmations/{rateConfirmationID}/void/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "RateConfirmations" - ], - "summary": "Void a rate confirmation", - "operationId": "voidRateConfirmation", - "parameters": [ - { - "type": "string", - "description": "Rate confirmation ID", - "name": "rateConfirmationID", - "in": "path", - "required": true - }, - { - "description": "Void payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_rateconfirmationhandler.voidRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateconfirmation.RateConfirmation" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-imports/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Imports" - ], - "summary": "List rate imports", - "operationId": "listRateImports", - "parameters": [ - { - "type": "string", - "description": "Narrow to one agreement's imports", - "name": "rateAgreementId", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_rateimport_RateImportBatch" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Reads a CSV or XLSX rate sheet and stages what committing it would do. Nothing about the agreement changes: applying it takes a second, deliberate call.", - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Imports" - ], - "summary": "Upload a rate sheet", - "operationId": "uploadRateSheet", - "parameters": [ - { - "type": "file", - "description": "The rate sheet", - "name": "file", - "in": "formData", - "required": true - }, - { - "type": "string", - "description": "The agreement to import into", - "name": "rateAgreementId", - "in": "formData", - "required": true - }, - { - "type": "integer", - "description": "The day the imported rules start pricing", - "name": "effectiveFrom", - "in": "formData", - "required": true - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateimport.RateImportBatch" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-imports/template/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns a starter CSV whose columns the importer recognises, with two example rows showing how lanes are described.", - "produces": [ - "application/json" - ], - "tags": [ - "Rate Imports" - ], - "summary": "Download the rate sheet template", - "operationId": "rateSheetTemplate", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/internal_api_handlers_rateimporthandler.TemplateResponse" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-imports/{rateImportID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the staged import and its dry run: what committing this sheet would do to each lane.", - "produces": [ - "application/json" - ], - "tags": [ - "Rate Imports" - ], - "summary": "Get a rate import", - "operationId": "getRateImport", - "parameters": [ - { - "type": "string", - "description": "Rate import ID", - "name": "rateImportID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateimport.RateImportBatch" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-imports/{rateImportID}/commit": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Amends the agreement with the sheet's lanes, closing out the ones it replaces. History is never mutated.", - "produces": [ - "application/json" - ], - "tags": [ - "Rate Imports" - ], - "summary": "Apply a reviewed rate import", - "operationId": "commitRateImport", - "parameters": [ - { - "type": "string", - "description": "Rate import ID", - "name": "rateImportID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateimport.RateImportBatch" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-imports/{rateImportID}/discard": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Closes an import somebody read and said no to.", - "produces": [ - "application/json" - ], - "tags": [ - "Rate Imports" - ], - "summary": "Discard a rate import", - "operationId": "discardRateImport", - "parameters": [ - { - "type": "string", - "description": "Rate import ID", - "name": "rateImportID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateimport.RateImportBatch" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-imports/{rateImportID}/rows": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Imports" - ], - "summary": "List a rate import's rows", - "operationId": "listRateImportRows", - "parameters": [ - { - "type": "string", - "description": "Rate import ID", - "name": "rateImportID", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Only the rows that could not be read", - "name": "failedOnly", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_rateimport_RateImportRow" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-matrices/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Matrices" - ], - "summary": "List rate matrices", - "operationId": "listRateMatrices", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratematrix_RateMatrix" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Matrices" - ], - "summary": "Create a rate matrix", - "operationId": "createRateMatrix", - "parameters": [ - { - "description": "Rate matrix payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrix" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrix" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-matrices/density-scales/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Matrices" - ], - "summary": "List density classification scales", - "operationId": "listDensityScales", - "parameters": [ - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratematrix_DensityScale" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-matrices/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Matrices" - ], - "summary": "List rate matrix options", - "operationId": "listRateMatrixOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratematrix_RateMatrix" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-matrices/{rateMatrixID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Matrices" - ], - "summary": "Get a rate matrix", - "operationId": "getRateMatrix", - "parameters": [ - { - "type": "string", - "description": "Rate matrix ID", - "name": "rateMatrixID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrix" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Matrices" - ], - "summary": "Update a rate matrix", - "operationId": "updateRateMatrix", - "parameters": [ - { - "type": "string", - "description": "Rate matrix ID", - "name": "rateMatrixID", - "in": "path", - "required": true - }, - { - "description": "Rate matrix payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrix" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrix" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Matrices" - ], - "summary": "Delete a rate matrix", - "operationId": "deleteRateMatrix", - "parameters": [ - { - "type": "string", - "description": "Rate matrix ID", - "name": "rateMatrixID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "409": { - "description": "Conflict", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-matrices/{rateMatrixID}/cells": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Matrices" - ], - "summary": "List a rate matrix's cells", - "operationId": "listRateMatrixCells", - "parameters": [ - { - "type": "string", - "description": "Rate matrix ID", - "name": "rateMatrixID", - "in": "path", - "required": true - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratematrix_RateMatrixCell" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Swaps the entire grid for the one supplied. A tariff arrives as a whole sheet, and merging would leave behind whatever the new sheet dropped.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Matrices" - ], - "summary": "Replace a rate matrix's cells", - "operationId": "replaceRateMatrixCells", - "parameters": [ - { - "type": "string", - "description": "Rate matrix ID", - "name": "rateMatrixID", - "in": "path", - "required": true - }, - { - "description": "Cells payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_ratematrixhandler.replaceCellsRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-quotes/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Quotes" - ], - "summary": "List rate quotes", - "operationId": "listRateQuotes", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratequote_RateQuote" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-quotes/quote/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Rates a hypothetical shipment against the contracts covering its lane, which is what a pre-booking quote is.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Quotes" - ], - "summary": "Price a shipment that has not been created", - "operationId": "quoteShipment", - "parameters": [ - { - "description": "Quote payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_ratequotehandler.quoteRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/internal_api_handlers_ratequotehandler.ratedShipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-quotes/shipment/{shipmentID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Quotes" - ], - "summary": "List a shipment's rating history", - "operationId": "listShipmentRateQuotes", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.RateQuote" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-quotes/shipment/{shipmentID}/applied": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the quote the shipment is currently billed from, including the full trace of every rate considered and why each one lost.", - "produces": [ - "application/json" - ], - "tags": [ - "Rate Quotes" - ], - "summary": "Get the quote governing a shipment", - "operationId": "getAppliedShipmentRateQuote", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "enum": [ - "Customer", - "Carrier" - ], - "type": "string", - "description": "Which side to read", - "name": "partyType", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.RateQuote" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-quotes/shipment/{shipmentID}/explain": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Re-resolves a saved shipment against the contracts effective on a date and returns the full trace, without changing what the shipment is billed at.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Quotes" - ], - "summary": "Explain or re-price a shipment", - "operationId": "explainShipmentRate", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "description": "Explanation options", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_ratequotehandler.explainRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/internal_api_handlers_ratequotehandler.ratedShipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-quotes/shipment/{shipmentID}/shop/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Prices the shipment against each carrier that could haul it and ranks them, with a full trace per option. Candidates come from the lane's routing guide unless a shortlist is supplied.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Quotes" - ], - "summary": "Shop a shipment against several carriers", - "operationId": "shopShipment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "description": "Shopping payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_ratequotehandler.shopRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/internal_api_handlers_ratequotehandler.shopResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-quotes/{rateQuoteID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Quotes" - ], - "summary": "Get a rate quote", - "operationId": "getRateQuote", - "parameters": [ - { - "type": "string", - "description": "Rate quote ID", - "name": "rateQuoteID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.RateQuote" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-simulations/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Simulations" - ], - "summary": "List rate simulations", - "operationId": "listRateSimulations", - "parameters": [ - { - "type": "string", - "description": "Narrow to one agreement's simulations", - "name": "rateAgreementId", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratesimulation_RateSimulation" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Records a simulation to be replayed against historical shipments. The run happens in the background; poll the simulation for its status.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Simulations" - ], - "summary": "Run a rate simulation", - "operationId": "createRateSimulation", - "parameters": [ - { - "description": "Simulation payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_ratesimulationhandler.createRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratesimulation.RateSimulation" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-simulations/{rateSimulationID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Simulations" - ], - "summary": "Get a rate simulation", - "operationId": "getRateSimulation", - "parameters": [ - { - "type": "string", - "description": "Rate simulation ID", - "name": "rateSimulationID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratesimulation.RateSimulation" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-simulations/{rateSimulationID}/results": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns what each replayed shipment was billed and what the simulated contract would have charged, largest increases first.", - "produces": [ - "application/json" - ], - "tags": [ - "Rate Simulations" - ], - "summary": "List a simulation's per-shipment results", - "operationId": "listRateSimulationResults", - "parameters": [ - { - "type": "string", - "description": "Rate simulation ID", - "name": "rateSimulationID", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Hide the shipments the change did not move", - "name": "changedOnly", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratesimulation_RateSimulationResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-zones/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Zones" - ], - "summary": "List rate zones", - "operationId": "listRateZones", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratezone_RateZone" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Zones" - ], - "summary": "Create a rate zone", - "operationId": "createRateZone", - "parameters": [ - { - "description": "Rate zone payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratezone.RateZone" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratezone.RateZone" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-zones/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Zones" - ], - "summary": "List rate zone options", - "operationId": "listRateZoneOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratezone_RateZone" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/rate-zones/{rateZoneID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Zones" - ], - "summary": "Get a rate zone", - "operationId": "getRateZone", - "parameters": [ - { - "type": "string", - "description": "Rate zone ID", - "name": "rateZoneID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratezone.RateZone" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Zones" - ], - "summary": "Update a rate zone", - "operationId": "updateRateZone", - "parameters": [ - { - "type": "string", - "description": "Rate zone ID", - "name": "rateZoneID", - "in": "path", - "required": true - }, - { - "description": "Rate zone payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratezone.RateZone" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratezone.RateZone" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Rate Zones" - ], - "summary": "Delete a rate zone", - "operationId": "deleteRateZone", - "parameters": [ - { - "type": "string", - "description": "Rate zone ID", - "name": "rateZoneID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "409": { - "description": "Conflict", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/realtime/token-request/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns a signed realtime access token for the authenticated actor.", - "produces": [ - "application/json" - ], - "tags": [ - "Realtime" - ], - "summary": "Get realtime token", - "operationId": "getRealtimeToken", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.RealtimeToken" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/recurring-shipments/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Recurring Shipments" - ], - "summary": "List recurring shipments", - "operationId": "listRecurringShipments", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_recurringshipment_RecurringShipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Recurring Shipments" - ], - "summary": "Create a recurring shipment", - "operationId": "createRecurringShipment", - "parameters": [ - { - "description": "Recurring shipment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/recurring-shipments/match/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Recurring Shipments" - ], - "summary": "Match recurring shipments for a lane", - "operationId": "matchRecurringShipments", - "parameters": [ - { - "description": "Lane match payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.MatchRecurringShipmentsRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.MatchRecurringShipmentsResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/recurring-shipments/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Recurring Shipments" - ], - "summary": "List recurring shipment options", - "operationId": "listRecurringShipmentOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_recurringshipment_RecurringShipment" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/recurring-shipments/select-options/{recurringShipmentID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Recurring Shipments" - ], - "summary": "Get a recurring shipment option", - "operationId": "getRecurringShipmentOption", - "parameters": [ - { - "type": "string", - "description": "Recurring shipment ID", - "name": "recurringShipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/recurring-shipments/{recurringShipmentID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Recurring Shipments" - ], - "summary": "Get a recurring shipment", - "operationId": "getRecurringShipment", - "parameters": [ - { - "type": "string", - "description": "Recurring shipment ID", - "name": "recurringShipmentID", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Include the full source shipment", - "name": "expandDetails", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Recurring Shipments" - ], - "summary": "Update a recurring shipment", - "operationId": "updateRecurringShipment", - "parameters": [ - { - "type": "string", - "description": "Recurring shipment ID", - "name": "recurringShipmentID", - "in": "path", - "required": true - }, - { - "description": "Recurring shipment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/recurring-shipments/{recurringShipmentID}/generate/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Recurring Shipments" - ], - "summary": "Generate a shipment from a recurring series", - "operationId": "generateRecurringShipment", - "parameters": [ - { - "type": "string", - "description": "Recurring shipment ID", - "name": "recurringShipmentID", - "in": "path", - "required": true - }, - { - "description": "Generation payload", - "name": "request", - "in": "body", - "schema": { - "$ref": "#/definitions/internal_api_handlers_recurringshipmenthandler.generateRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.GenerateRecurringShipmentResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/recurring-shipments/{recurringShipmentID}/runs/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Recurring Shipments" - ], - "summary": "List generation runs for a recurring shipment", - "operationId": "listRecurringShipmentRuns", - "parameters": [ - { - "type": "string", - "description": "Recurring shipment ID", - "name": "recurringShipmentID", - "in": "path", - "required": true - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_recurringshipment_RecurringShipmentRun" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/recurring-shipments/{recurringShipmentID}/status/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Recurring Shipments" - ], - "summary": "Update a recurring shipment's status", - "operationId": "updateRecurringShipmentStatus", - "parameters": [ - { - "type": "string", - "description": "Recurring shipment ID", - "name": "recurringShipmentID", - "in": "path", - "required": true - }, - { - "description": "Status payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_recurringshipmenthandler.updateStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/role-assignments/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Role Assignments" - ], - "summary": "List role assignments", - "operationId": "listRoleAssignments", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "boolean", - "description": "Expand role details", - "name": "expandRoles", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_permission_UserRoleAssignment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/role-assignments/{roleAssignmentID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Role Assignments" - ], - "summary": "Get a role assignment", - "operationId": "getRoleAssignment", - "parameters": [ - { - "type": "string", - "description": "Role assignment ID", - "name": "roleAssignmentID", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Expand role details", - "name": "expandRoles", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.UserRoleAssignment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/roles/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Roles" - ], - "summary": "List roles", - "operationId": "listRoles", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_permission_Role" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Roles" - ], - "summary": "Create a role", - "operationId": "createRole", - "parameters": [ - { - "description": "Role payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Role" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Role" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/roles/assignments/{assignmentID}": { - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Roles" - ], - "summary": "Unassign a role", - "operationId": "unassignRole", - "parameters": [ - { - "type": "string", - "description": "Role assignment ID", - "name": "assignmentID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/roles/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Roles" - ], - "summary": "List role options", - "operationId": "listRoleOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_permission_Role" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/roles/select-options/{roleID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Roles" - ], - "summary": "Get a role option", - "operationId": "getRoleOption", - "parameters": [ - { - "type": "string", - "description": "Role ID", - "name": "roleID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Role" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/roles/{roleID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Roles" - ], - "summary": "Get a role", - "operationId": "getRole", - "parameters": [ - { - "type": "string", - "description": "Role ID", - "name": "roleID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Role" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Roles" - ], - "summary": "Update a role", - "operationId": "updateRole", - "parameters": [ - { - "type": "string", - "description": "Role ID", - "name": "roleID", - "in": "path", - "required": true - }, - { - "description": "Role payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Role" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Role" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/roles/{roleID}/assignments": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Roles" - ], - "summary": "Assign a role to a user", - "operationId": "assignRole", - "parameters": [ - { - "type": "string", - "description": "Role ID", - "name": "roleID", - "in": "path", - "required": true - }, - { - "description": "Role assignment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_rolehandler.AssignRoleRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.UserRoleAssignment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/roles/{roleID}/impact": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Roles" - ], - "summary": "Get role impact", - "operationId": "getRoleImpact", - "parameters": [ - { - "type": "string", - "description": "Role ID", - "name": "roleID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/roles/{roleID}/permissions": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Roles" - ], - "summary": "Add a role permission", - "operationId": "addRolePermission", - "parameters": [ - { - "type": "string", - "description": "Role ID", - "name": "roleID", - "in": "path", - "required": true - }, - { - "description": "Permission payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_rolehandler.AddPermissionRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.ResourcePermission" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/roles/{roleID}/permissions/{permID}": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Roles" - ], - "summary": "Update a role permission", - "operationId": "updateRolePermission", - "parameters": [ - { - "type": "string", - "description": "Role ID", - "name": "roleID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Permission ID", - "name": "permID", - "in": "path", - "required": true - }, - { - "description": "Permission payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_rolehandler.AddPermissionRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.ResourcePermission" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Roles" - ], - "summary": "Delete a role permission", - "operationId": "deleteRolePermission", - "parameters": [ - { - "type": "string", - "description": "Role ID", - "name": "roleID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Permission ID", - "name": "permID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/routing-guides/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Routing Guides" - ], - "summary": "List routing guides", - "operationId": "listRoutingGuides", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "boolean", - "description": "Include ranked carrier entries", - "name": "includeEntries", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_tender_RoutingGuide" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Routing Guides" - ], - "summary": "Create a routing guide", - "operationId": "createRoutingGuide", - "parameters": [ - { - "description": "Routing guide payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/routing-guides/match/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Routing Guides" - ], - "summary": "Match a lane to its routing guide", - "operationId": "matchRoutingGuide", - "parameters": [ - { - "type": "string", - "description": "Origin location ID", - "name": "originLocationId", - "in": "query" - }, - { - "type": "string", - "description": "Destination location ID", - "name": "destinationLocationId", - "in": "query" - }, - { - "type": "string", - "description": "Origin city", - "name": "originCity", - "in": "query" - }, - { - "type": "string", - "description": "Origin state abbreviation", - "name": "originState", - "in": "query" - }, - { - "type": "string", - "description": "Destination city", - "name": "destinationCity", - "in": "query" - }, - { - "type": "string", - "description": "Destination state abbreviation", - "name": "destinationState", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/routing-guides/{guideID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Routing Guides" - ], - "summary": "Get a routing guide", - "operationId": "getRoutingGuide", - "parameters": [ - { - "type": "string", - "description": "Routing guide ID", - "name": "guideID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Routing Guides" - ], - "summary": "Update a routing guide", - "operationId": "updateRoutingGuide", - "parameters": [ - { - "type": "string", - "description": "Routing guide ID", - "name": "guideID", - "in": "path", - "required": true - }, - { - "description": "Routing guide payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Routing Guides" - ], - "summary": "Delete a routing guide", - "operationId": "deleteRoutingGuide", - "parameters": [ - { - "type": "string", - "description": "Routing guide ID", - "name": "guideID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/sequence-configs/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the current sequence configuration document for the authenticated tenant.", - "produces": [ - "application/json" - ], - "tags": [ - "Sequence Configs" - ], - "summary": "Get sequence configuration settings", - "operationId": "getSequenceConfig", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.SequenceConfigDocument" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Sequence Configs" - ], - "summary": "Update sequence configuration settings", - "operationId": "updateSequenceConfig", - "parameters": [ - { - "description": "Sequence configuration payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.SequenceConfigDocument" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.SequenceConfigDocument" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/service-types/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Service Types" - ], - "summary": "List service types", - "operationId": "listServiceTypes", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_servicetype_ServiceType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Service Types" - ], - "summary": "Create a service type", - "operationId": "createServiceType", - "parameters": [ - { - "description": "Service type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/service-types/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Service Types" - ], - "summary": "Bulk update service type statuses", - "operationId": "bulkUpdateServiceTypeStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateServiceTypeStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/service-types/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Service Types" - ], - "summary": "List service type options", - "operationId": "listServiceTypeOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_servicetype_ServiceType" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/service-types/select-options/{serviceTypeID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Service Types" - ], - "summary": "Get a service type option", - "operationId": "getServiceTypeOption", - "parameters": [ - { - "type": "string", - "description": "Service type ID", - "name": "serviceTypeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/service-types/{serviceTypeID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Service Types" - ], - "summary": "Get a service type", - "operationId": "getServiceType", - "parameters": [ - { - "type": "string", - "description": "Service type ID", - "name": "serviceTypeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Service Types" - ], - "summary": "Update a service type", - "operationId": "updateServiceType", - "parameters": [ - { - "type": "string", - "description": "Service type ID", - "name": "serviceTypeID", - "in": "path", - "required": true - }, - { - "description": "Service type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Service Types" - ], - "summary": "Patch a service type", - "operationId": "patchServiceType", - "parameters": [ - { - "type": "string", - "description": "Service type ID", - "name": "serviceTypeID", - "in": "path", - "required": true - }, - { - "description": "Partial service type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-controls/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the current shipment control document for the authenticated tenant.", - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Controls" - ], - "summary": "Get shipment control settings", - "operationId": "getShipmentControl", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ShipmentControl" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Controls" - ], - "summary": "Update shipment control settings", - "operationId": "updateShipmentControl", - "parameters": [ - { - "description": "Shipment control payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ShipmentControl" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ShipmentControl" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-events/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Events" - ], - "summary": "List shipment events", - "operationId": "listShipmentEvents", - "parameters": [ - { - "type": "string", - "description": "Filter to a single shipment", - "name": "shipmentId", - "in": "query" - }, - { - "type": "string", - "description": "Comma-separated event types", - "name": "types", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "description": "Cursor: occurred_at, exclusive", - "name": "before", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmentevent.Event" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-moves/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Moves" - ], - "summary": "Bulk update shipment move statuses", - "operationId": "bulkUpdateShipmentMoveStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_shipmentmovehandler.bulkUpdateStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-moves/{moveID}/assignment/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Assignments" - ], - "summary": "Reassign a move", - "operationId": "reassignShipmentMove", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - }, - { - "description": "Assignment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_assignmenthandler.upsertAssignmentRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Assignment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Assignments" - ], - "summary": "Assign a move", - "operationId": "assignShipmentMove", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - }, - { - "description": "Assignment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_assignmenthandler.upsertAssignmentRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Assignment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Assignments" - ], - "summary": "Unassign a move", - "operationId": "unassignShipmentMove", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-moves/{moveID}/carrier-assignment/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "CarrierAssignments" - ], - "summary": "Get the active carrier assignment for a move", - "operationId": "getMoveCarrierAssignment", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierAssignment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "CarrierAssignments" - ], - "summary": "Assign a move to an external carrier", - "operationId": "assignMoveToCarrier", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - }, - { - "description": "Carrier assignment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.AssignMoveToCarrierRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierAssignment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "tags": [ - "CarrierAssignments" - ], - "summary": "Cancel the carrier assignment for a move", - "operationId": "cancelMoveCarrierAssignment", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - }, - { - "description": "Cancellation payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_carrierassignmenthandler.cancelCarrierAssignmentBody" - } - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-moves/{moveID}/carrier-assignment/preview/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "CarrierAssignments" - ], - "summary": "Preview carrier eligibility for a move assignment", - "operationId": "previewMoveCarrierAssignment", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Carrier ID", - "name": "carrierId", - "in": "query", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.EligibilityResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-moves/{moveID}/rate-confirmations/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "RateConfirmations" - ], - "summary": "List rate confirmations for a move", - "operationId": "listMoveRateConfirmations", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateconfirmation.RateConfirmation" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "RateConfirmations" - ], - "summary": "Generate a rate confirmation for a move's carrier assignment", - "operationId": "generateMoveRateConfirmation", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateconfirmation.RateConfirmation" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-moves/{moveID}/split/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Moves" - ], - "summary": "Split a shipment move", - "operationId": "splitShipmentMove", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - }, - { - "description": "Split move request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_shipmentmovehandler.splitMoveRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.SplitMoveResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-moves/{moveID}/stops/{stopID}/record-actual/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Moves" - ], - "summary": "Record a stop actual arrival or departure on a shipment move", - "operationId": "recordShipmentMoveStopActual", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Stop ID", - "name": "stopID", - "in": "path", - "required": true - }, - { - "description": "Stop actual request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_shipmentmovehandler.recordStopActualRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-moves/{moveID}/update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Moves" - ], - "summary": "Update a shipment move status", - "operationId": "updateShipmentMoveStatus", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - }, - { - "description": "Status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_shipmentmovehandler.updateStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-types/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Types" - ], - "summary": "List shipment types", - "operationId": "listShipmentTypes", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_shipmenttype_ShipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Types" - ], - "summary": "Create a shipment type", - "operationId": "createShipmentType", - "parameters": [ - { - "description": "Shipment type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-types/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Types" - ], - "summary": "Bulk update shipment type statuses", - "operationId": "bulkUpdateShipmentTypeStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateShipmentTypeStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-types/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Types" - ], - "summary": "List shipment type options", - "operationId": "listShipmentTypeOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_shipmenttype_ShipmentType" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-types/select-options/{shipmentTypeID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Types" - ], - "summary": "Get a shipment type option", - "operationId": "getShipmentTypeOption", - "parameters": [ - { - "type": "string", - "description": "Shipment type ID", - "name": "shipmentTypeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipment-types/{shipmentTypeID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Types" - ], - "summary": "Get a shipment type", - "operationId": "getShipmentType", - "parameters": [ - { - "type": "string", - "description": "Shipment type ID", - "name": "shipmentTypeID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Types" - ], - "summary": "Update a shipment type", - "operationId": "updateShipmentType", - "parameters": [ - { - "type": "string", - "description": "Shipment type ID", - "name": "shipmentTypeID", - "in": "path", - "required": true - }, - { - "description": "Shipment type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipment Types" - ], - "summary": "Patch a shipment type", - "operationId": "patchShipmentType", - "parameters": [ - { - "type": "string", - "description": "Shipment type ID", - "name": "shipmentTypeID", - "in": "path", - "required": true - }, - { - "description": "Partial shipment type payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns paginated shipments. Protected routes accept a Bearer token or an authenticated session cookie.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "List shipments", - "operationId": "listShipments", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "type": "string", - "description": "Opaque cursor", - "name": "after", - "in": "query" - }, - { - "type": "boolean", - "description": "Expand shipment details", - "name": "expandShipmentDetails", - "in": "query" - }, - { - "type": "string", - "description": "Filter by shipment status", - "name": "status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_shipment_Shipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Create a shipment", - "operationId": "createShipment", - "parameters": [ - { - "description": "Shipment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/auto-cancel/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "List auto-cancelable shipments", - "operationId": "listAutoCancelableShipments", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Auto-cancel eligible shipments", - "operationId": "autoCancelShipments", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/calculate-distance/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Calculate shipment distance", - "operationId": "calculateShipmentDistance", - "parameters": [ - { - "description": "Shipment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.DistanceCalculationResponse" - } - } - } - } - }, - "/shipments/calculate-totals/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Calculate shipment totals", - "operationId": "calculateShipmentTotals", - "parameters": [ - { - "description": "Shipment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.ShipmentTotalsResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/delay/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Delay eligible shipments", - "operationId": "delayShipments", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/delayed/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "List delayed shipments", - "operationId": "listDelayedShipments", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/duplicate/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Duplicate a shipment", - "operationId": "duplicateShipment", - "parameters": [ - { - "description": "Shipment duplication request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkDuplicateShipmentRequest" - } - } - ], - "responses": { - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.ShipmentDuplicateWorkflowResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/ui-policy/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns shipment UI capability flags for the authenticated tenant.", - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Get shipment UI policy", - "operationId": "getShipmentUIPolicy", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShipmentUIPolicy" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/unassigned/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns paginated shipments that do not have an active assignment.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "List unassigned shipments", - "operationId": "listUnassignedShipments", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "type": "string", - "description": "Opaque cursor", - "name": "after", - "in": "query" - }, - { - "type": "boolean", - "description": "Expand shipment details", - "name": "expandShipmentDetails", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_shipment_Shipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Get a shipment", - "operationId": "getShipment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Expand shipment details", - "name": "expandShipmentDetails", - "in": "query" - }, - { - "type": "string", - "description": "Filter by shipment status", - "name": "status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Update a shipment", - "operationId": "updateShipment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "description": "Shipment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/auto-rate/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Prices the shipment from the rate agreement covering its lane, overwriting its rating method, base rate and contract accessorials. Returns the shipment together with an account of what the contract applied.", - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Re-rate a shipment from its contract", - "operationId": "autoRateShipment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ContractRateApplication" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/billing-readiness/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns billing-readiness details for a shipment, including required customer documents and resolved billing policy.", - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Get shipment billing readiness", - "operationId": "getShipmentBillingReadiness", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingReadiness" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/cancel/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Cancel a shipment", - "operationId": "cancelShipment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "description": "Shipment cancellation request", - "name": "request", - "in": "body", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.CancelShipmentRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/comments/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "List shipment comments", - "operationId": "listShipmentComments", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "type": "string", - "description": "Opaque cursor", - "name": "after", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_shipment_ShipmentComment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Create a shipment comment", - "operationId": "createShipmentComment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "description": "Shipment comment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentComment" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentComment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/comments/count/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Get shipment comment count", - "operationId": "getShipmentCommentCount", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/internal_api_handlers_shipmenthandler.shipmentCommentCountResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/comments/{commentID}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Update a shipment comment", - "operationId": "updateShipmentComment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Comment ID", - "name": "commentID", - "in": "path", - "required": true - }, - { - "description": "Shipment comment payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentComment" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentComment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "tags": [ - "Shipments" - ], - "summary": "Delete a shipment comment", - "operationId": "deleteShipmentComment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Comment ID", - "name": "commentID", - "in": "path", - "required": true - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/holds/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "List shipment holds", - "operationId": "listShipmentHolds", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_shipment_ShipmentHold" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Create a shipment hold", - "operationId": "createShipmentHold", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "description": "Shipment hold payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.CreateShipmentHoldRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentHold" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/holds/{holdID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Get a shipment hold", - "operationId": "getShipmentHold", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Hold ID", - "name": "holdID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentHold" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Update a shipment hold", - "operationId": "updateShipmentHold", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Hold ID", - "name": "holdID", - "in": "path", - "required": true - }, - { - "description": "Shipment hold payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.UpdateShipmentHoldRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentHold" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/holds/{holdID}/release/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Release a shipment hold", - "operationId": "releaseShipmentHold", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Hold ID", - "name": "holdID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentHold" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/permit-assessment/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Returns the oversize/overweight assessment for a shipment: the measured envelope, every jurisdiction on the route with its limits and headroom, derived permit requirements, escorts, restrictions, estimated fees and the earliest feasible pickup.", - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Get shipment permit assessment", - "operationId": "getShipmentPermitAssessment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.PermitAssessment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/permit-requirements/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Permits" - ], - "summary": "List derived permit requirements for a shipment", - "operationId": "listShipmentPermitRequirements", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Requirement" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/permit-requirements/{requirementID}/waive/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "description": "Marks a derived permit requirement as waived. This does not make the movement legal; it records that the organization accepts the compliance risk, and the reason is the audit trail.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Permits" - ], - "summary": "Waive a permit requirement", - "operationId": "waiveShipmentPermitRequirement", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Requirement ID", - "name": "requirementID", - "in": "path", - "required": true - }, - { - "description": "Waiver payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_permithandler.waiveRequirementBody" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Requirement" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/permits/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Permits" - ], - "summary": "List permits for a shipment", - "operationId": "listShipmentPermits", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Permit" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Permits" - ], - "summary": "Record a permit for a shipment", - "operationId": "createShipmentPermit", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "description": "Permit payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Permit" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Permit" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/permits/{permitID}/": { - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Permits" - ], - "summary": "Update a recorded permit", - "operationId": "updateShipmentPermit", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Permit ID", - "name": "permitID", - "in": "path", - "required": true - }, - { - "description": "Permit payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Permit" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Permit" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/recalculate-distance/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Recalculate shipment distance", - "operationId": "recalculateShipmentDistance", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.DistanceCalculationResponse" - } - } - } - } - }, - "/shipments/{shipmentID}/transfer-ownership/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Transfer shipment ownership", - "operationId": "transferShipmentOwnership", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - }, - { - "description": "Ownership transfer request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.TransferOwnershipRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/shipments/{shipmentID}/uncancel/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Shipments" - ], - "summary": "Uncancel a shipment", - "operationId": "uncancelShipment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tenders/by-move/{moveID}/live/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tenders" - ], - "summary": "Get the live tender for a move", - "operationId": "getLiveTenderByMove", - "parameters": [ - { - "type": "string", - "description": "Shipment move ID", - "name": "moveID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Tender" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tenders/by-shipment/{shipmentID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tenders" - ], - "summary": "List a shipment's tenders", - "operationId": "listTendersByShipment", - "parameters": [ - { - "type": "string", - "description": "Shipment ID", - "name": "shipmentID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Tender" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tenders/offers/{offerID}/respond/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tenders" - ], - "summary": "Record a carrier's response received off-channel", - "operationId": "recordTenderResponse", - "parameters": [ - { - "type": "string", - "description": "Tender offer ID", - "name": "offerID", - "in": "path", - "required": true - }, - { - "description": "Manual response", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_tenderhandler.recordResponseRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tenders/spot/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tenders" - ], - "summary": "Start a spot tender with an ad-hoc carrier list", - "operationId": "createSpotTender", - "parameters": [ - { - "description": "Spot tender request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_tenderservice.CreateSpotTenderRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Tender" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tenders/waterfall/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tenders" - ], - "summary": "Start a waterfall tender from a routing guide", - "operationId": "createWaterfallTender", - "parameters": [ - { - "description": "Waterfall tender request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_tenderservice.CreateWaterfallTenderRequest" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_tenderservice.CreateWaterfallResult" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tenders/{tenderID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tenders" - ], - "summary": "Get a tender with its offers", - "operationId": "getTender", - "parameters": [ - { - "type": "string", - "description": "Tender ID", - "name": "tenderID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Tender" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tenders/{tenderID}/cancel/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tenders" - ], - "summary": "Cancel a live tender", - "operationId": "cancelTender", - "parameters": [ - { - "type": "string", - "description": "Tender ID", - "name": "tenderID", - "in": "path", - "required": true - }, - { - "description": "Cancellation request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_tenderservice.CancelTenderRequest" - } - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tractors/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tractors" - ], - "summary": "List tractors", - "operationId": "listTractors", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "type": "boolean", - "description": "Include equipment details", - "name": "includeEquipmentDetails", - "in": "query" - }, - { - "type": "boolean", - "description": "Include fleet details", - "name": "includeFleetDetails", - "in": "query" - }, - { - "type": "boolean", - "description": "Include worker details", - "name": "includeWorkerDetails", - "in": "query" - }, - { - "type": "string", - "description": "Filter by status", - "name": "status", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "type": "string", - "description": "Opaque cursor", - "name": "after", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_tractor_Tractor" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tractors" - ], - "summary": "Create a tractor", - "operationId": "createTractor", - "parameters": [ - { - "description": "Tractor payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tractors/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tractors" - ], - "summary": "Bulk update tractor statuses", - "operationId": "bulkUpdateTractorStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateTractorStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tractors/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tractors" - ], - "summary": "List tractor options", - "operationId": "listTractorOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_tractor_Tractor" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tractors/select-options/{tractorID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tractors" - ], - "summary": "Get a tractor option", - "operationId": "getTractorOption", - "parameters": [ - { - "type": "string", - "description": "Tractor ID", - "name": "tractorID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/tractors/{tractorID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tractors" - ], - "summary": "Get a tractor", - "operationId": "getTractor", - "parameters": [ - { - "type": "string", - "description": "Tractor ID", - "name": "tractorID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tractors" - ], - "summary": "Update a tractor", - "operationId": "updateTractor", - "parameters": [ - { - "type": "string", - "description": "Tractor ID", - "name": "tractorID", - "in": "path", - "required": true - }, - { - "description": "Tractor payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tractors" - ], - "summary": "Patch a tractor", - "operationId": "patchTractor", - "parameters": [ - { - "type": "string", - "description": "Tractor ID", - "name": "tractorID", - "in": "path", - "required": true - }, - { - "description": "Partial tractor payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/trailers/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Trailers" - ], - "summary": "List trailers", - "operationId": "listTrailers", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "type": "string", - "description": "Opaque cursor", - "name": "after", - "in": "query" - }, - { - "type": "boolean", - "description": "Include equipment details", - "name": "includeEquipmentDetails", - "in": "query" - }, - { - "type": "boolean", - "description": "Include fleet details", - "name": "includeFleetDetails", - "in": "query" - }, - { - "type": "string", - "description": "Filter by trailer status", - "name": "status", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_trailer_Trailer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Trailers" - ], - "summary": "Create a trailer", - "operationId": "createTrailer", - "parameters": [ - { - "description": "Trailer payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/trailers/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Trailers" - ], - "summary": "Bulk update trailer statuses", - "operationId": "bulkUpdateTrailerStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateTrailerStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/trailers/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Trailers" - ], - "summary": "List trailer options", - "operationId": "listTrailerOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_trailer_Trailer" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/trailers/select-options/{trailerID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Trailers" - ], - "summary": "Get a trailer option", - "operationId": "getTrailerOption", - "parameters": [ - { - "type": "string", - "description": "Trailer ID", - "name": "trailerID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/trailers/{trailerID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Trailers" - ], - "summary": "Get a trailer", - "operationId": "getTrailer", - "parameters": [ - { - "type": "string", - "description": "Trailer ID", - "name": "trailerID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Trailers" - ], - "summary": "Update a trailer", - "operationId": "updateTrailer", - "parameters": [ - { - "type": "string", - "description": "Trailer ID", - "name": "trailerID", - "in": "path", - "required": true - }, - { - "description": "Trailer payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Trailers" - ], - "summary": "Patch a trailer", - "operationId": "patchTrailer", - "parameters": [ - { - "type": "string", - "description": "Trailer ID", - "name": "trailerID", - "in": "path", - "required": true - }, - { - "description": "Trailer payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/us-states/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "US States" - ], - "summary": "List US state options", - "operationId": "listUsStateOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_usstate_UsState" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/us-states/select-options/{usStateID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "US States" - ], - "summary": "Get a US state option", - "operationId": "getUsStateOption", - "parameters": [ - { - "type": "string", - "description": "US state ID", - "name": "usStateID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "List users", - "operationId": "listUsers", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - }, - { - "type": "boolean", - "description": "Include organization memberships", - "name": "includeMemberships", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_tenant_User" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/bulk-update-status/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Bulk update user statuses", - "operationId": "bulkUpdateUserStatus", - "parameters": [ - { - "description": "Bulk status update request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateUserStatusRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/me/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Get current user", - "operationId": "getCurrentUser", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/me/change-password/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Change current user password", - "operationId": "changeCurrentUserPassword", - "parameters": [ - { - "description": "Password change payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_userhandler.ChangeMyPasswordRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/me/organizations/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "List current user organizations", - "operationId": "listCurrentUserOrganizations", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.OrgSummary" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/me/profile-picture/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Upload current user profile picture", - "operationId": "uploadCurrentUserProfilePicture", - "parameters": [ - { - "type": "file", - "description": "Profile picture file", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "delete": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Delete current user profile picture", - "operationId": "deleteCurrentUserProfilePicture", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/me/settings/": { - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Update current user settings", - "operationId": "updateCurrentUserSettings", - "parameters": [ - { - "description": "Current user settings payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_userhandler.UpdateMySettingsRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/me/switch-organization/": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Switch current organization", - "operationId": "switchUserOrganization", - "parameters": [ - { - "description": "Organization switch request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_userhandler.SwitchOrganizationRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/gin.H" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "List user options", - "operationId": "listUserOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_tenant_User" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/select-options/{userID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Get a user option", - "operationId": "getUserOption", - "parameters": [ - { - "type": "string", - "description": "User ID", - "name": "userID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/{userID}/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Get a user", - "operationId": "getUser", - "parameters": [ - { - "type": "string", - "description": "User ID", - "name": "userID", - "in": "path", - "required": true - }, - { - "type": "boolean", - "description": "Include organization memberships", - "name": "includeMemberships", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Update a user", - "operationId": "updateUser", - "parameters": [ - { - "type": "string", - "description": "User ID", - "name": "userID", - "in": "path", - "required": true - }, - { - "description": "User payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Patch a user", - "operationId": "patchUser", - "parameters": [ - { - "type": "string", - "description": "User ID", - "name": "userID", - "in": "path", - "required": true - }, - { - "description": "User payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/{userID}/effective-permissions/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Get user effective permissions", - "operationId": "getUserEffectivePermissions", - "parameters": [ - { - "type": "string", - "description": "User ID", - "name": "userID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.EffectivePermissions" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/{userID}/organization-memberships/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "List user organization memberships", - "operationId": "listUserOrganizationMemberships", - "parameters": [ - { - "type": "string", - "description": "User ID", - "name": "userID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.OrganizationMembership" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Replace user organization memberships", - "operationId": "replaceUserOrganizationMemberships", - "parameters": [ - { - "type": "string", - "description": "User ID", - "name": "userID", - "in": "path", - "required": true - }, - { - "description": "Organization membership replacement request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_userhandler.ReplaceOrganizationMembershipsRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.OrganizationMembership" - } - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/{userID}/permissions/simulate/": { - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Simulate user permissions", - "operationId": "simulateUserPermissions", - "parameters": [ - { - "type": "string", - "description": "User ID", - "name": "userID", - "in": "path", - "required": true - }, - { - "description": "Permission simulation request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/internal_api_handlers_userhandler.SimulatePermissionsRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.EffectivePermissions" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/{userID}/profile-picture/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Get user profile picture URL", - "operationId": "getUserProfilePictureURL", - "parameters": [ - { - "type": "string", - "description": "User ID", - "name": "userID", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Image variant", - "name": "variant", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/internal_api_handlers_userhandler.ProfilePictureURLResponse" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/users/{userID}/role-assignments/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Users" - ], - "summary": "Get user role assignments", - "operationId": "getUserRoleAssignments", - "parameters": [ - { - "type": "string", - "description": "User ID", - "name": "userID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.UserRoleAssignment" - } - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/workers/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Workers" - ], - "summary": "List workers", - "operationId": "listWorkers", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "type": "string", - "description": "Opaque cursor", - "name": "after", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_worker_Worker" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "post": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Workers" - ], - "summary": "Create a worker", - "operationId": "createWorker", - "parameters": [ - { - "description": "Worker payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - } - } - ], - "responses": { - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/workers/select-options/": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Workers" - ], - "summary": "List worker options", - "operationId": "listWorkerOptions", - "parameters": [ - { - "type": "string", - "description": "Search query", - "name": "query", - "in": "query" - }, - { - "type": "boolean", - "description": "Include worker profile", - "name": "includeProfile", - "in": "query" - }, - { - "maximum": 100, - "minimum": 1, - "type": "integer", - "description": "Page size", - "name": "limit", - "in": "query" - }, - { - "minimum": 0, - "type": "integer", - "description": "Page offset", - "name": "offset", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_worker_Worker" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/workers/select-options/{workerID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Workers" - ], - "summary": "Get a worker option", - "operationId": "getWorkerOption", - "parameters": [ - { - "type": "string", - "description": "Worker ID", - "name": "workerID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - }, - "/workers/{workerID}": { - "get": { - "security": [ - { - "BearerAuth": [] - } - ], - "produces": [ - "application/json" - ], - "tags": [ - "Workers" - ], - "summary": "Get a worker", - "operationId": "getWorker", - "parameters": [ - { - "type": "string", - "description": "Worker ID", - "name": "workerID", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "put": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Workers" - ], - "summary": "Update a worker", - "operationId": "updateWorker", - "parameters": [ - { - "type": "string", - "description": "Worker ID", - "name": "workerID", - "in": "path", - "required": true - }, - { - "description": "Worker payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - }, - "patch": { - "security": [ - { - "BearerAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Workers" - ], - "summary": "Patch a worker", - "operationId": "patchWorker", - "parameters": [ - { - "type": "string", - "description": "Worker ID", - "name": "workerID", - "in": "path", - "required": true - }, - { - "description": "Partial worker payload", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "401": { - "description": "Unauthorized", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "403": { - "description": "Forbidden", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "422": { - "description": "Unprocessable Entity", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - }, - "500": { - "description": "Internal Server Error", - "schema": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ProblemDetail" - } - } - } - } - } - }, - "definitions": { - "decimal.NullDecimal": { - "type": "object", - "properties": { - "decimal": { - "type": "number" - }, - "valid": { - "type": "boolean" - } - } - }, - "gin.H": { - "type": "object", - "additionalProperties": {} - }, - "github_com_emoss08_trenova_internal_api_helpers.ProblemDetail": { - "type": "object", - "properties": { - "detail": { - "type": "string" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_api_helpers.ValidationError" - } - }, - "instance": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "status": { - "type": "integer" - }, - "title": { - "type": "string" - }, - "traceId": { - "type": "string" - }, - "type": { - "type": "string" - }, - "usageStats": {} - } - }, - "github_com_emoss08_trenova_internal_api_helpers.ValidationError": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "field": { - "type": "string" - }, - "location": { - "type": "string" - }, - "message": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge": { - "type": "object", - "properties": { - "amount": { - "type": "number" - }, - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.Method" - }, - "organizationId": { - "type": "string" - }, - "rateUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.RateUnit" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_accessorialcharge.Method": { - "type": "string", - "enum": [ - "Flat", - "PerUnit", - "Percentage" - ], - "x-enum-comments": { - "MethodFlat": "Fixed amount (TONU, layover, tarp, hazmat)", - "MethodPerUnit": "Rate × units (detention/hr, storage/day, team/mile)", - "MethodPercentage": "Percentage of linehaul (fuel surcharge)" - }, - "x-enum-descriptions": [ - "Fixed amount (TONU, layover, tarp, hazmat)", - "Rate × units (detention/hr, storage/day, team/mile)", - "Percentage of linehaul (fuel surcharge)" - ], - "x-enum-varnames": [ - "MethodFlat", - "MethodPerUnit", - "MethodPercentage" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_accessorialcharge.RateUnit": { - "type": "string", - "enum": [ - "Mile", - "Hour", - "Day", - "Stop" - ], - "x-enum-comments": { - "RateUnitDay": "Layover, storage", - "RateUnitHour": "Detention, driver assist", - "RateUnitMile": "Team drivers, per-mile fuel surcharge", - "RateUnitStop": "Stop-off charges" - }, - "x-enum-descriptions": [ - "Team drivers, per-mile fuel surcharge", - "Detention, driver assist", - "Layover, storage", - "Stop-off charges" - ], - "x-enum-varnames": [ - "RateUnitMile", - "RateUnitHour", - "RateUnitDay", - "RateUnitStop" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType": { - "type": "object", - "properties": { - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "category": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.Category" - }, - "code": { - "type": "string" - }, - "color": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isSystem": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_accounttype.Category": { - "type": "string", - "enum": [ - "Asset", - "Liability", - "Equity", - "Revenue", - "CostOfRevenue", - "Expense" - ], - "x-enum-varnames": [ - "CategoryAsset", - "CategoryLiability", - "CategoryEquity", - "CategoryRevenue", - "CategoryCostOfRevenue", - "CategoryExpense" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_billingqueue.BillType": { - "type": "string", - "enum": [ - "Invoice", - "CreditMemo", - "DebitMemo" - ], - "x-enum-varnames": [ - "BillTypeInvoice", - "BillTypeCreditMemo", - "BillTypeDebitMemo" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_billingqueue.BillingQueueItem": { - "type": "object", - "properties": { - "adjustmentContext": { - "type": "object", - "additionalProperties": {} - }, - "allocatedTotalAmount": { - "type": "number" - }, - "allocatedTotalAmountMinor": { - "type": "integer" - }, - "assignedBiller": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "assignedBillerId": { - "type": "string" - }, - "billToCustomer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "billToCustomerId": { - "type": "string" - }, - "billType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillType" - }, - "businessUnitId": { - "type": "string" - }, - "cancelReason": { - "type": "string" - }, - "canceledAt": { - "type": "integer" - }, - "canceledBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "canceledById": { - "type": "string" - }, - "correctionGroupId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "exceptionNotes": { - "type": "string" - }, - "exceptionReasonCode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.ExceptionReasonCode" - }, - "id": { - "type": "string" - }, - "invoiceId": { - "type": "string" - }, - "isAdjustmentOrigin": { - "type": "boolean" - }, - "number": { - "type": "string" - }, - "orderId": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "payerShare": { - "description": "PayerShare is this item's payer's part of the shipment's charges, filled\nwhen the item is read with its shipment details.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.PayerShare" - } - ] - }, - "rebillStrategy": { - "type": "string" - }, - "requiresReplacementReview": { - "type": "boolean" - }, - "rerateVariancePercent": { - "type": "number" - }, - "reviewCompletedAt": { - "type": "integer" - }, - "reviewNotes": { - "type": "string" - }, - "reviewStartedAt": { - "type": "integer" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "shipmentId": { - "type": "string" - }, - "sourceCreditMemoInvoiceId": { - "type": "string" - }, - "sourceInvoiceAdjustmentId": { - "type": "string" - }, - "sourceInvoiceId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_billingqueue.ExceptionReasonCode": { - "type": "string", - "enum": [ - "MissingDocumentation", - "IncorrectRates", - "WeightDiscrepancy", - "AccessorialDispute", - "DuplicateCharge", - "MissingReferenceNumber", - "CustomerInformationError", - "ServiceFailure", - "RateNotOnFile", - "Other" - ], - "x-enum-varnames": [ - "ExceptionMissingDocumentation", - "ExceptionIncorrectRates", - "ExceptionWeightDiscrepancy", - "ExceptionAccessorialDispute", - "ExceptionDuplicateCharge", - "ExceptionMissingReferenceNumber", - "ExceptionCustomerInformationError", - "ExceptionServiceFailure", - "ExceptionRateNotOnFile", - "ExceptionOther" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_billingqueue.PayerRef": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_billingqueue.PayerShare": { - "type": "object", - "properties": { - "accessorialAmount": { - "type": "number" - }, - "freightAmount": { - "type": "number" - }, - "isSplit": { - "type": "boolean" - }, - "lines": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.PayerShareLine" - } - }, - "otherPayerLines": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.PayerShareLine" - } - }, - "payerId": { - "type": "string" - }, - "payers": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.PayerRef" - } - }, - "resolutionError": { - "description": "ResolutionError explains why the shipment's split cannot be divided right\nnow, such as an amount split that no longer adds up after a charge changed.", - "type": "string" - }, - "shipmentTotal": { - "type": "number" - }, - "totalAmount": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_billingqueue.PayerShareLine": { - "type": "object", - "properties": { - "additionalChargeId": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "chargeTotal": { - "type": "number" - }, - "description": { - "type": "string" - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocationKind" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocationMethod" - }, - "partial": { - "type": "boolean" - }, - "payers": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.PayerShareParty" - } - }, - "percent": { - "$ref": "#/definitions/decimal.NullDecimal" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_billingqueue.PayerShareParty": { - "type": "object", - "properties": { - "amount": { - "type": "number" - }, - "payerCode": { - "type": "string" - }, - "payerId": { - "type": "string" - }, - "payerName": { - "type": "string" - }, - "percent": { - "$ref": "#/definitions/decimal.NullDecimal" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_billingqueue.Status": { - "type": "string", - "enum": [ - "ReadyForReview", - "InReview", - "Approved", - "Posted", - "OnHold", - "SentBackToOps", - "Exception", - "Canceled" - ], - "x-enum-varnames": [ - "StatusReadyForReview", - "StatusInReview", - "StatusApproved", - "StatusPosted", - "StatusOnHold", - "StatusSentBackToOps", - "StatusException", - "StatusCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_billingqueuefilterpreset.BillingQueueFilterPreset": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "filters": { - "type": "object", - "additionalProperties": {} - }, - "id": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "userId": { - "type": "string" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.Carrier": { - "type": "object", - "properties": { - "addressLine1": { - "type": "string" - }, - "addressLine2": { - "type": "string" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "carrierType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Type" - }, - "city": { - "type": "string" - }, - "code": { - "type": "string" - }, - "complianceStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.ComplianceStatus" - }, - "contacts": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.CarrierContact" - } - }, - "createdAt": { - "type": "integer" - }, - "dbaName": { - "type": "string" - }, - "disqualifiedReason": { - "type": "string" - }, - "dotNumber": { - "type": "string" - }, - "ediChannels": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.CarrierEDIChannel" - } - }, - "email": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "insurancePolicies": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.CarrierInsurancePolicy" - } - }, - "is1099Eligible": { - "type": "boolean" - }, - "mcNumber": { - "type": "string" - }, - "name": { - "type": "string" - }, - "notes": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "paymentMethod": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.PaymentMethod" - }, - "paymentTermDays": { - "type": "integer" - }, - "phone": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "qualifiedAt": { - "type": "integer" - }, - "remitAddressLine1": { - "type": "string" - }, - "remitAddressLine2": { - "type": "string" - }, - "remitCity": { - "type": "string" - }, - "remitPostalCode": { - "type": "string" - }, - "remitState": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "remitStateId": { - "type": "string" - }, - "remitToName": { - "type": "string" - }, - "safetyRating": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.SafetyRating" - }, - "scac": { - "type": "string" - }, - "state": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "stateId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Status" - }, - "taxId": { - "type": "string" - }, - "taxIdType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.TaxIDType" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "w9OnFile": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.CarrierContact": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "carrier": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - }, - "carrierId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "email": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isPrimary": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "phone": { - "type": "string" - }, - "receivesRateConfirmations": { - "type": "boolean" - }, - "title": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.CarrierEDIChannel": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "carrier": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - }, - "carrierId": { - "type": "string" - }, - "communicationProfileId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "ediPartner": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIPartner" - }, - "ediPartnerId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "organizationId": { - "type": "string" - }, - "partnerDocumentProfileId": { - "type": "string" - }, - "scacOverride": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.CarrierInsurancePolicy": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "carrier": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - }, - "carrierId": { - "type": "string" - }, - "coverageAmount": { - "type": "number" - }, - "createdAt": { - "type": "integer" - }, - "effectiveDate": { - "type": "integer" - }, - "expirationDate": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "isVerified": { - "type": "boolean" - }, - "organizationId": { - "type": "string" - }, - "policyNumber": { - "type": "string" - }, - "policyType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.InsurancePolicyType" - }, - "providerName": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.ComplianceStatus": { - "type": "string", - "enum": [ - "Pending", - "Qualified", - "Disqualified", - "Expired" - ], - "x-enum-varnames": [ - "ComplianceStatusPending", - "ComplianceStatusQualified", - "ComplianceStatusDisqualified", - "ComplianceStatusExpired" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.EligibilityResult": { - "type": "object", - "properties": { - "blockers": { - "type": "array", - "items": { - "type": "string" - } - }, - "warnings": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.InsurancePolicyType": { - "type": "string", - "enum": [ - "AutoLiability", - "CargoLiability", - "GeneralLiability", - "WorkersComp", - "Umbrella" - ], - "x-enum-varnames": [ - "InsurancePolicyTypeAutoLiability", - "InsurancePolicyTypeCargoLiability", - "InsurancePolicyTypeGeneralLiability", - "InsurancePolicyTypeWorkersComp", - "InsurancePolicyTypeUmbrella" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.PaymentMethod": { - "type": "string", - "enum": [ - "Check", - "ACHManual" - ], - "x-enum-varnames": [ - "PaymentMethodCheck", - "PaymentMethodACHManual" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.SafetyRating": { - "type": "string", - "enum": [ - "Satisfactory", - "Conditional", - "Unsatisfactory", - "NotRated" - ], - "x-enum-varnames": [ - "SafetyRatingSatisfactory", - "SafetyRatingConditional", - "SafetyRatingUnsatisfactory", - "SafetyRatingNotRated" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.Status": { - "type": "string", - "enum": [ - "Active", - "Inactive", - "DoNotUse" - ], - "x-enum-varnames": [ - "StatusActive", - "StatusInactive", - "StatusDoNotUse" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.TaxIDType": { - "type": "string", - "enum": [ - "EIN", - "SSN" - ], - "x-enum-varnames": [ - "TaxIDTypeEIN", - "TaxIDTypeSSN" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_carrier.Type": { - "type": "string", - "enum": [ - "Common", - "Contract", - "Broker", - "Exempt" - ], - "x-enum-varnames": [ - "TypeCommon", - "TypeContract", - "TypeBroker", - "TypeExempt" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_commodity.Commodity": { - "type": "object", - "properties": { - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "fragile": { - "type": "boolean" - }, - "freightClass": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.FreightClass" - }, - "hazardousMaterial": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - }, - "hazardousMaterialId": { - "type": "string" - }, - "heightPerUnit": { - "type": "number" - }, - "id": { - "type": "string" - }, - "lengthPerUnit": { - "type": "number" - }, - "linearFeetPerUnit": { - "type": "number" - }, - "loadingInstructions": { - "type": "string" - }, - "maxQuantityPerShipment": { - "type": "number" - }, - "maxTemperature": { - "type": "integer" - }, - "minTemperature": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "stackable": { - "type": "boolean" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "weightPerUnit": { - "type": "number" - }, - "widthPerUnit": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_commodity.FreightClass": { - "type": "string", - "enum": [ - "Class50", - "Class55", - "Class60", - "Class65", - "Class70", - "Class77_5", - "Class85", - "Class92_5", - "Class100", - "Class110", - "Class125", - "Class150", - "Class175", - "Class200", - "Class250", - "Class300", - "Class400", - "Class500" - ], - "x-enum-varnames": [ - "FreightClass50", - "FreightClass55", - "FreightClass60", - "FreightClass65", - "FreightClass70", - "FreightClass77_5", - "FreightClass85", - "FreightClass92_5", - "FreightClass100", - "FreightClass110", - "FreightClass125", - "FreightClass150", - "FreightClass175", - "FreightClass200", - "FreightClass250", - "FreightClass300", - "FreightClass400", - "FreightClass500" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customer.BillingCycle": { - "type": "string", - "enum": [ - "Immediate", - "Daily", - "Weekly", - "BiWeekly", - "SemiMonthly", - "Monthly", - "Quarterly" - ], - "x-enum-varnames": [ - "BillingCycleImmediate", - "BillingCycleDaily", - "BillingCycleWeekly", - "BillingCycleBiWeekly", - "BillingCycleSemiMonthly", - "BillingCycleMonthly", - "BillingCycleQuarterly" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customer.CreditStatus": { - "type": "string", - "enum": [ - "Active", - "Warning", - "Hold", - "Suspended", - "Review" - ], - "x-enum-varnames": [ - "CreditStatusActive", - "CreditStatusWarning", - "CreditStatusHold", - "CreditStatusSuspended", - "CreditStatusReview" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customer.Customer": { - "type": "object", - "properties": { - "addressLine1": { - "type": "string" - }, - "addressLine2": { - "type": "string" - }, - "allowConsolidation": { - "type": "boolean" - }, - "billingProfile": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.CustomerBillingProfile" - }, - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "city": { - "type": "string" - }, - "code": { - "type": "string" - }, - "consolidationPriority": { - "type": "integer" - }, - "createdAt": { - "type": "integer" - }, - "emailProfile": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.CustomerEmailProfile" - }, - "exclusiveConsolidation": { - "type": "boolean" - }, - "externalId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isGeocoded": { - "type": "boolean" - }, - "latitude": { - "type": "number" - }, - "longitude": { - "type": "number" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "placeId": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "state": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "stateId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_customer.CustomerBillingProfile": { - "type": "object", - "properties": { - "applyLateCharges": { - "type": "boolean" - }, - "arAccount": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - }, - "arAccountId": { - "type": "string" - }, - "autoApplyAccessorials": { - "type": "boolean" - }, - "autoApprove": { - "description": "AutoApprove lets a shipment that passes every billing requirement clear the\nbilling queue without a biller clicking Approve, leaving the queue holding\nonly the freight that actually needs a human.\n\nIt is reachable only on the automatic transfer path, so an organization that\nhas not enabled automatic queue transfer cannot be auto-approving anything.", - "type": "boolean" - }, - "autoBill": { - "type": "boolean" - }, - "autoCreditHold": { - "type": "boolean" - }, - "autoMarkReadyToBill": { - "type": "boolean" - }, - "autoSendInvoiceOnGeneration": { - "type": "boolean" - }, - "autoTransfer": { - "type": "boolean" - }, - "billingCurrency": { - "type": "string" - }, - "billingCycle": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.BillingCycle" - }, - "billingCycleAnchorDay": { - "type": "integer" - }, - "billingCycleTimezone": { - "type": "string" - }, - "billingNotes": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "countLateOnlyOnAppointmentStops": { - "type": "boolean" - }, - "createdAt": { - "type": "integer" - }, - "creditBalance": { - "type": "number" - }, - "creditHoldReason": { - "type": "string" - }, - "creditLimit": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "creditStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.CreditStatus" - }, - "customerId": { - "type": "string" - }, - "customerInvoicePrefix": { - "type": "string" - }, - "defaultBiller": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "defaultBillerId": { - "type": "string" - }, - "documentTypes": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - } - }, - "ediInvoiceEnabled": { - "type": "boolean" - }, - "emailInvoiceEnabled": { - "description": "EmailInvoiceEnabled and EDIInvoiceEnabled are the delivery channels an\ninvoice may leave through. Auto-send after posting honours both.", - "type": "boolean" - }, - "enforceCreditLimit": { - "type": "boolean" - }, - "enforceCustomerBillingReq": { - "type": "boolean" - }, - "fuelSurchargeMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.FuelSurchargeMode" - }, - "fuelSurchargeProgram": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.FuelSurchargeProgram" - }, - "fuelSurchargeProgramId": { - "type": "string" - }, - "gracePeriodDays": { - "type": "integer" - }, - "hasBillingControlOverrides": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "invoiceCopies": { - "type": "integer" - }, - "invoiceDelivery": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceDelivery" - }, - "invoiceDetail": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceDetail" - }, - "invoiceNumberFormat": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceNumberFormat" - }, - "lastBilledPeriodEnd": { - "type": "integer" - }, - "lateChargeRate": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "maxShipmentsPerInvoice": { - "type": "integer" - }, - "minConsolidatedAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "minConsolidatedAmountMinor": { - "type": "integer" - }, - "organizationId": { - "type": "string" - }, - "paymentTerm": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.PaymentTerm" - }, - "requireBOLNumber": { - "type": "boolean" - }, - "requireDeliveryNumber": { - "type": "boolean" - }, - "requirePONumber": { - "type": "boolean" - }, - "revenueAccount": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - }, - "revenueAccountId": { - "type": "string" - }, - "sectionBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceSectionKey" - }, - "splitBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceSplitKey" - }, - "taxExempt": { - "type": "boolean" - }, - "taxExemptNumber": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "validateCustomerRates": { - "type": "boolean" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_customer.CustomerEmailProfile": { - "type": "object", - "properties": { - "attachmentName": { - "type": "string" - }, - "bccRecipients": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "ccRecipients": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "customerId": { - "type": "string" - }, - "fromEmail": { - "type": "string" - }, - "id": { - "type": "string" - }, - "includeShipmentDetail": { - "type": "boolean" - }, - "organizationId": { - "type": "string" - }, - "readReceipt": { - "type": "boolean" - }, - "subject": { - "type": "string" - }, - "toRecipients": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_customer.FuelSurchargeMode": { - "type": "string", - "enum": [ - "None", - "Program", - "FuelIncluded" - ], - "x-enum-varnames": [ - "FuelSurchargeModeNone", - "FuelSurchargeModeProgram", - "FuelSurchargeModeFuelIncluded" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customer.InvoiceDelivery": { - "type": "string", - "enum": [ - "PerShipment", - "PerOrder", - "Consolidated" - ], - "x-enum-varnames": [ - "InvoiceDeliveryPerShipment", - "InvoiceDeliveryPerOrder", - "InvoiceDeliveryConsolidated" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customer.InvoiceDetail": { - "type": "string", - "enum": [ - "Detailed", - "Summary" - ], - "x-enum-varnames": [ - "InvoiceDetailDetailed", - "InvoiceDetailSummary" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customer.InvoiceNumberFormat": { - "type": "string", - "enum": [ - "Default", - "CustomPrefix", - "POBased" - ], - "x-enum-varnames": [ - "InvoiceNumberFormatDefault", - "InvoiceNumberFormatCustomPrefix", - "InvoiceNumberFormatPOBased" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customer.InvoiceSectionKey": { - "type": "string", - "enum": [ - "Shipment", - "PONumber", - "Origin", - "Destination" - ], - "x-enum-varnames": [ - "InvoiceSectionKeyShipment", - "InvoiceSectionKeyPONumber", - "InvoiceSectionKeyOrigin", - "InvoiceSectionKeyDestination" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customer.InvoiceSplitKey": { - "type": "string", - "enum": [ - "Customer", - "CustomerAndPONumber", - "CustomerAndShipmentBOL", - "CustomerAndOrder", - "CustomerAndOrigin", - "CustomerAndDestination", - "CustomerAndServiceType" - ], - "x-enum-varnames": [ - "InvoiceSplitKeyCustomer", - "InvoiceSplitKeyCustomerAndPONumber", - "InvoiceSplitKeyCustomerAndShipmentBOL", - "InvoiceSplitKeyCustomerAndOrder", - "InvoiceSplitKeyCustomerAndOrigin", - "InvoiceSplitKeyCustomerAndDestination", - "InvoiceSplitKeyCustomerAndServiceType" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customer.PaymentTerm": { - "type": "string", - "enum": [ - "Net10", - "Net15", - "Net30", - "Net45", - "Net60", - "Net90", - "DueOnReceipt" - ], - "x-enum-varnames": [ - "PaymentTermNet10", - "PaymentTermNet15", - "PaymentTermNet30", - "PaymentTermNet45", - "PaymentTermNet60", - "PaymentTermNet90", - "PaymentTermDueOnReceipt" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customfield.CustomFieldDefinition": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "color": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "defaultValue": {}, - "description": { - "type": "string" - }, - "displayOrder": { - "type": "integer" - }, - "fieldType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.FieldType" - }, - "id": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "isRequired": { - "type": "boolean" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.SelectOption" - } - }, - "organizationId": { - "type": "string" - }, - "resourceType": { - "type": "string" - }, - "uiAttributes": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.UIAttributes" - }, - "updatedAt": { - "type": "integer" - }, - "validationRules": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.ValidationRules" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_customfield.FieldType": { - "type": "string", - "enum": [ - "text", - "number", - "date", - "boolean", - "select", - "multiSelect" - ], - "x-enum-varnames": [ - "FieldTypeText", - "FieldTypeNumber", - "FieldTypeDate", - "FieldTypeBoolean", - "FieldTypeSelect", - "FieldTypeMultiSelect" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_customfield.SelectOption": { - "type": "object", - "properties": { - "color": { - "type": "string" - }, - "description": { - "type": "string" - }, - "label": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_customfield.UIAttributes": { - "type": "object", - "properties": { - "helpText": { - "type": "string" - }, - "placeholder": { - "type": "string" - }, - "width": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_customfield.ValidationRules": { - "type": "object", - "properties": { - "max": { - "type": "integer" - }, - "maxLength": { - "type": "integer" - }, - "min": { - "type": "integer" - }, - "minLength": { - "type": "integer" - }, - "pattern": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.CalculationTrace": { - "type": "object", - "properties": { - "computedAt": { - "type": "integer" - }, - "deterministic": { - "type": "boolean" - }, - "engineVersion": { - "type": "string" - }, - "steps": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.TraceStep" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.CapKind": { - "type": "string", - "enum": [ - "None", - "MaxBillableMinutes", - "MaxChargePerStop", - "MaxChargePerDay", - "MaxChargePerShipment", - "LayoverBoundary" - ], - "x-enum-varnames": [ - "CapKindNone", - "CapKindMaxMinutes", - "CapKindPerStopAmount", - "CapKindPerDayAmount", - "CapKindPerShipment", - "CapKindLayoverBoundary" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.CapScope": { - "type": "string", - "enum": [ - "PerStop", - "PerDay", - "PerShipment" - ], - "x-enum-varnames": [ - "CapScopePerStop", - "CapScopePerDay", - "CapScopePerShipment" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.ClockStartBasis": { - "type": "string", - "enum": [ - "Arrival", - "Appointment", - "LaterOfArrivalOrAppointment", - "EarlierOfArrivalOrAppointment" - ], - "x-enum-varnames": [ - "ClockStartBasisArrival", - "ClockStartBasisAppointment", - "ClockStartBasisLaterOfArrivalOrAppointment", - "ClockStartBasisEarlierOfArrivalOrAppointment" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.CollectabilityAssessment": { - "type": "object", - "properties": { - "band": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.ScoreBand" - }, - "chainValid": { - "type": "boolean" - }, - "factors": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.ScoreFactor" - } - }, - "score": { - "type": "integer" - }, - "summary": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.DetentionEvidence": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "detentionOccurrenceId": { - "type": "string" - }, - "documentId": { - "type": "string" - }, - "hash": { - "type": "string" - }, - "id": { - "type": "string" - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.EvidenceKind" - }, - "observedAt": { - "type": "integer" - }, - "organizationId": { - "type": "string" - }, - "payload": { - "type": "object", - "additionalProperties": {} - }, - "prevHash": { - "type": "string" - }, - "recordedAt": { - "type": "integer" - }, - "recordedById": { - "type": "string" - }, - "sequence": { - "type": "integer" - }, - "source": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.EvidenceSource" - }, - "summary": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.DetentionNotice": { - "type": "object", - "properties": { - "body": { - "type": "string" - }, - "bodyHtml": { - "description": "BodyHTML snapshots the rendered HTML alongside the plain text.\n\nIt exists because the send path used to rebuild HTML by wrapping Body in\n\u003cpre\u003e with no escaping, which turned any angle bracket in a facility or\ncustomer name into markup. Storing what was actually rendered means the\nsender interpolates nothing.", - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "channel": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.NoticeChannel" - }, - "createdAt": { - "type": "integer" - }, - "deliveredAt": { - "type": "integer" - }, - "deliveryStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.NoticeDeliveryStatus" - }, - "detentionOccurrenceId": { - "type": "string" - }, - "failedAt": { - "type": "integer" - }, - "failureReason": { - "type": "string" - }, - "id": { - "type": "string" - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.NoticeKind" - }, - "openedAt": { - "type": "integer" - }, - "organizationId": { - "type": "string" - }, - "pdfDocumentId": { - "description": "PDFDocumentID is the stored notice PDF, when the policy attaches one.", - "type": "string" - }, - "providerMessageId": { - "type": "string" - }, - "quotedAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "quotedFreeMinutes": { - "type": "integer" - }, - "quotedRate": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "recipients": { - "type": "array", - "items": { - "type": "string" - } - }, - "satisfiesRequirement": { - "type": "boolean" - }, - "scheduledFor": { - "type": "integer" - }, - "sentAt": { - "type": "integer" - }, - "sentById": { - "type": "string" - }, - "subject": { - "type": "string" - }, - "templateVersionId": { - "description": "TemplateVersionID names the template that produced this notice, so a\ndisputed charge can be traced back to the exact wording that was sent.", - "type": "string" - }, - "threadKey": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "wasAutomatic": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.DetentionOccurrence": { - "type": "object", - "properties": { - "additionalChargeId": { - "type": "string" - }, - "appointmentEnd": { - "type": "integer" - }, - "appointmentStart": { - "type": "integer" - }, - "approvedAt": { - "type": "integer" - }, - "approvedById": { - "type": "string" - }, - "arrivedAt": { - "type": "integer" - }, - "arrivedLate": { - "type": "boolean" - }, - "billableAmount": { - "type": "number" - }, - "billableMinutes": { - "type": "integer" - }, - "billableUnits": { - "type": "number" - }, - "businessUnitId": { - "type": "string" - }, - "calculationTrace": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.CalculationTrace" - }, - "capApplied": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.CapKind" - }, - "clockStartAt": { - "type": "integer" - }, - "clockStopAt": { - "type": "integer" - }, - "collectabilityScore": { - "type": "integer" - }, - "convertedToLayover": { - "type": "boolean" - }, - "createdAt": { - "type": "integer" - }, - "currency": { - "type": "string" - }, - "customerId": { - "type": "string" - }, - "customerName": { - "type": "string" - }, - "departedAt": { - "type": "integer" - }, - "detentionPolicy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy" - }, - "detentionPolicyId": { - "type": "string" - }, - "disputeNote": { - "type": "string" - }, - "disputedAt": { - "type": "integer" - }, - "driverPayAmount": { - "type": "number" - }, - "driverPayMinutes": { - "type": "integer" - }, - "evidence": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionEvidence" - } - }, - "evidenceHead": { - "type": "string" - }, - "freeMinutesGranted": { - "type": "integer" - }, - "freeTimeExpiresAt": { - "type": "integer" - }, - "grossAmount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "isOpen": { - "type": "boolean" - }, - "lateByMinutes": { - "type": "integer" - }, - "locationId": { - "type": "string" - }, - "locationName": { - "type": "string" - }, - "netMargin": { - "type": "number" - }, - "noticeDeadlineAt": { - "type": "integer" - }, - "noticeDueAt": { - "type": "integer" - }, - "noticeSentAt": { - "type": "integer" - }, - "notices": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionNotice" - } - }, - "notificationStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.NotificationStatus" - }, - "organizationId": { - "type": "string" - }, - "policySnapshot": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.PolicySnapshot" - }, - "rawDwellMinutes": { - "type": "integer" - }, - "requiresApproval": { - "type": "boolean" - }, - "roundedMinutes": { - "type": "integer" - }, - "scheduleType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.StopScheduleType" - }, - "shipmentId": { - "type": "string" - }, - "shipmentMoveId": { - "type": "string" - }, - "shipmentProNumber": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.OccurrenceStatus" - }, - "stopId": { - "type": "string" - }, - "stopType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.StopType" - }, - "suppressedByGate": { - "type": "boolean" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "waivedAmount": { - "type": "number" - }, - "waivedAt": { - "type": "integer" - }, - "waivedById": { - "type": "string" - }, - "waiverNote": { - "type": "string" - }, - "waiverReason": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.WaiverReason" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy": { - "type": "object", - "properties": { - "accessorialCharge": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - }, - "accessorialChargeId": { - "type": "string" - }, - "appointmentStopsOnly": { - "type": "boolean" - }, - "attachNoticePdf": { - "type": "boolean" - }, - "autoApproveUnderAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "autoSendNotice": { - "type": "boolean" - }, - "billingFreeMinutes": { - "type": "integer" - }, - "billingIncrementMinutes": { - "type": "integer" - }, - "businessUnitId": { - "type": "string" - }, - "clockStartBasis": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.ClockStartBasis" - }, - "code": { - "type": "string" - }, - "comments": { - "type": "string" - }, - "commodityIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "convertToLayoverAtMinutes": { - "type": "integer" - }, - "createdAt": { - "type": "integer" - }, - "currency": { - "type": "string" - }, - "customerId": { - "type": "string" - }, - "dayBoundaryMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.CapScope" - }, - "deliveryFreeMinutes": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "effectiveEndDate": { - "type": "integer" - }, - "effectiveStartDate": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "isOrgDefault": { - "type": "boolean" - }, - "lateArrivalGraceMinutes": { - "type": "integer" - }, - "lateArrivalRule": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.LateArrivalRule" - }, - "layoverAccessorialChargeId": { - "type": "string" - }, - "locationId": { - "type": "string" - }, - "maxBillableMinutesPerStop": { - "type": "integer" - }, - "maxChargePerDay": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "maxChargePerShipment": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "maxChargePerStop": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "minimumBillableMinutes": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "notificationDeadlineMinutes": { - "type": "integer" - }, - "notificationLeadMinutes": { - "type": "integer" - }, - "notificationRequirement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.NotificationRequirement" - }, - "organizationId": { - "type": "string" - }, - "payFreeMinutes": { - "type": "integer" - }, - "pickupFreeMinutes": { - "type": "integer" - }, - "priority": { - "type": "integer" - }, - "rateSource": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.RateSource" - }, - "requireApprovalOverAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "roundingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.RoundingMode" - }, - "sendDepartureSummary": { - "type": "boolean" - }, - "serviceTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "shipmentTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "specificityScore": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.PolicyStatus" - }, - "stopTypes": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.StopType" - } - }, - "tiers": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicyTier" - } - }, - "unnotifiedBehavior": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.UnnotifiedBehavior" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicyTier": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "detentionPolicyId": { - "type": "string" - }, - "fromMinute": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "rate": { - "type": "number" - }, - "rateUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.TierRateUnit" - }, - "sortOrder": { - "type": "integer" - }, - "toMinute": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.EvidenceKind": { - "type": "string", - "enum": [ - "Arrival", - "Departure", - "Appointment", - "Notice", - "Document", - "StatusChange", - "Recalculated", - "Waiver", - "Dispute" - ], - "x-enum-varnames": [ - "EvidenceKindArrival", - "EvidenceKindDeparture", - "EvidenceKindAppointment", - "EvidenceKindNotice", - "EvidenceKindDocument", - "EvidenceKindStatusChange", - "EvidenceKindRecalculated", - "EvidenceKindWaiver", - "EvidenceKindDispute" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.EvidenceSource": { - "type": "string", - "enum": [ - "Telematics", - "Geofence", - "DriverApp", - "EDI", - "Document", - "Manual", - "System" - ], - "x-enum-varnames": [ - "EvidenceSourceTelematics", - "EvidenceSourceGeofence", - "EvidenceSourceDriverApp", - "EvidenceSourceEDI", - "EvidenceSourceDocument", - "EvidenceSourceManual", - "EvidenceSourceSystem" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.LateArrivalRule": { - "type": "string", - "enum": [ - "NoEffect", - "Forfeit", - "ClockFromAppointment", - "ReduceFreeTime" - ], - "x-enum-varnames": [ - "LateArrivalRuleNoEffect", - "LateArrivalRuleForfeit", - "LateArrivalRuleClockFromAppointment", - "LateArrivalRuleReduceFreeTime" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.NoticeChannel": { - "type": "string", - "enum": [ - "Email", - "EDI", - "Portal", - "Manual" - ], - "x-enum-varnames": [ - "NoticeChannelEmail", - "NoticeChannelEDI", - "NoticeChannelPortal", - "NoticeChannelManual" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.NoticeDeliveryStatus": { - "type": "string", - "enum": [ - "Queued", - "Sent", - "Delivered", - "Opened", - "Bounced", - "Failed" - ], - "x-enum-varnames": [ - "NoticeDeliveryStatusQueued", - "NoticeDeliveryStatusSent", - "NoticeDeliveryStatusDelivered", - "NoticeDeliveryStatusOpened", - "NoticeDeliveryStatusBounced", - "NoticeDeliveryStatusFailed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.NoticeKind": { - "type": "string", - "enum": [ - "Warning", - "Started", - "Update", - "Final" - ], - "x-enum-varnames": [ - "NoticeKindWarning", - "NoticeKindStarted", - "NoticeKindUpdate", - "NoticeKindFinal" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.NotificationRequirement": { - "type": "string", - "enum": [ - "None", - "Advisory", - "Required" - ], - "x-enum-varnames": [ - "NotificationRequirementNone", - "NotificationRequirementAdvisory", - "NotificationRequirementRequired" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.NotificationStatus": { - "type": "string", - "enum": [ - "NotRequired", - "Pending", - "Sent", - "Late", - "Missed", - "Failed" - ], - "x-enum-varnames": [ - "NotificationStatusNotRequired", - "NotificationStatusPending", - "NotificationStatusSent", - "NotificationStatusLate", - "NotificationStatusMissed", - "NotificationStatusFailed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.OccurrenceStatus": { - "type": "string", - "enum": [ - "Accruing", - "Pending", - "Approved", - "Billed", - "Waived", - "Disputed", - "NotBillable" - ], - "x-enum-varnames": [ - "OccurrenceStatusAccruing", - "OccurrenceStatusPending", - "OccurrenceStatusApproved", - "OccurrenceStatusBilled", - "OccurrenceStatusWaived", - "OccurrenceStatusDisputed", - "OccurrenceStatusNotBillable" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.PolicySnapshot": { - "type": "object", - "properties": { - "accessorialChargeId": { - "type": "string" - }, - "accessorialCode": { - "type": "string" - }, - "autoApproveUnderAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "billingIncrementMinutes": { - "type": "integer" - }, - "capturedAt": { - "type": "integer" - }, - "clockStartBasis": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.ClockStartBasis" - }, - "convertToLayoverAtMinutes": { - "type": "integer" - }, - "currency": { - "type": "string" - }, - "dayBoundaryMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.CapScope" - }, - "flatRate": { - "type": "number" - }, - "flatRateUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.TierRateUnit" - }, - "freeMinutes": { - "type": "integer" - }, - "lateArrivalGraceMinutes": { - "type": "integer" - }, - "lateArrivalRule": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.LateArrivalRule" - }, - "layoverAccessorialChargeId": { - "type": "string" - }, - "maxBillableMinutesPerStop": { - "type": "integer" - }, - "maxChargePerDay": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "maxChargePerShipment": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "maxChargePerStop": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "minimumBillableMinutes": { - "type": "integer" - }, - "notificationDeadlineMinutes": { - "type": "integer" - }, - "notificationLeadMinutes": { - "type": "integer" - }, - "notificationRequirement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.NotificationRequirement" - }, - "payFreeMinutes": { - "type": "integer" - }, - "policyCode": { - "type": "string" - }, - "policyId": { - "type": "string" - }, - "policyName": { - "type": "string" - }, - "policyVersion": { - "type": "integer" - }, - "priority": { - "type": "integer" - }, - "rateSource": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.RateSource" - }, - "requireApprovalOverAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "roundingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.RoundingMode" - }, - "specificityScore": { - "type": "integer" - }, - "tiers": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.TierSnapshot" - } - }, - "unnotifiedBehavior": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.UnnotifiedBehavior" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.PolicyStatus": { - "type": "string", - "enum": [ - "Active", - "Inactive", - "Draft" - ], - "x-enum-varnames": [ - "PolicyStatusActive", - "PolicyStatusInactive", - "PolicyStatusDraft" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.RateSource": { - "type": "string", - "enum": [ - "Accessorial", - "Tiers" - ], - "x-enum-varnames": [ - "RateSourceAccessorial", - "RateSourceTiers" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.RoundingMode": { - "type": "string", - "enum": [ - "Up", - "Down", - "Nearest", - "Exact" - ], - "x-enum-varnames": [ - "RoundingModeUp", - "RoundingModeDown", - "RoundingModeNearest", - "RoundingModeExact" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.ScoreBand": { - "type": "string", - "enum": [ - "Strong", - "Adequate", - "Weak", - "AtRisk" - ], - "x-enum-varnames": [ - "ScoreBandStrong", - "ScoreBandAdequate", - "ScoreBandWeak", - "ScoreBandAtRisk" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.ScoreFactor": { - "type": "object", - "properties": { - "detail": { - "type": "string" - }, - "earned": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "possible": { - "type": "integer" - }, - "remedy": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.TierRateUnit": { - "type": "string", - "enum": [ - "Hour", - "Day", - "Flat" - ], - "x-enum-varnames": [ - "TierRateUnitHour", - "TierRateUnitDay", - "TierRateUnitFlat" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.TierSnapshot": { - "type": "object", - "properties": { - "fromMinute": { - "type": "integer" - }, - "label": { - "type": "string" - }, - "rate": { - "type": "number" - }, - "rateUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.TierRateUnit" - }, - "toMinute": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.TraceStep": { - "type": "object", - "properties": { - "amount": { - "type": "number" - }, - "detail": { - "type": "string" - }, - "isReduction": { - "type": "boolean" - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.TraceStepKind" - }, - "label": { - "type": "string" - }, - "minutes": { - "type": "integer" - }, - "term": { - "type": "string" - }, - "timestamp": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_detention.TraceStepKind": { - "type": "string", - "enum": [ - "PolicyResolved", - "ClockStart", - "LateArrival", - "ClockStop", - "RawDwell", - "FreeTime", - "MinimumThreshold", - "Rounding", - "MinutesCap", - "TierApplied", - "FlatRateApplied", - "AmountCap", - "LayoverConversion", - "NotificationGate", - "DriverPay", - "Final" - ], - "x-enum-varnames": [ - "TraceStepPolicyResolved", - "TraceStepClockStart", - "TraceStepLateArrival", - "TraceStepClockStop", - "TraceStepRawDwell", - "TraceStepFreeTime", - "TraceStepMinimum", - "TraceStepRounding", - "TraceStepMinutesCap", - "TraceStepTier", - "TraceStepFlatRate", - "TraceStepAmountCap", - "TraceStepLayover", - "TraceStepNotification", - "TraceStepDriverPay", - "TraceStepFinal" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.UnnotifiedBehavior": { - "type": "string", - "enum": [ - "Bill", - "Flag", - "Suppress" - ], - "x-enum-varnames": [ - "UnnotifiedBehaviorBill", - "UnnotifiedBehaviorFlag", - "UnnotifiedBehaviorSuppress" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_detention.WaiverReason": { - "type": "string", - "enum": [ - "Weather", - "FacilityClosure", - "CarrierFault", - "EquipmentIssue", - "CustomerGoodwill", - "DataCorrection", - "ForceMajeure", - "Other" - ], - "x-enum-varnames": [ - "WaiverReasonWeather", - "WaiverReasonFacilityClosure", - "WaiverReasonCarrierFault", - "WaiverReasonEquipmentIssue", - "WaiverReasonCustomerGoodwill", - "WaiverReasonDataCorrection", - "WaiverReasonForceMajeure", - "WaiverReasonOther" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.AutoAssignmentStrategy": { - "type": "string", - "enum": [ - "Proximity", - "Availability", - "LoadBalancing", - "Performance" - ], - "x-enum-varnames": [ - "AutoAssignmentStrategyProximity", - "AutoAssignmentStrategyAvailability", - "AutoAssignmentStrategyLoadBalancing", - "AutoAssignmentStrategyPerformance" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.ComplianceEnforcementLevel": { - "type": "string", - "enum": [ - "Warning", - "Block", - "Audit" - ], - "x-enum-varnames": [ - "ComplianceEnforcementLevelWarning", - "ComplianceEnforcementLevelBlock", - "ComplianceEnforcementLevelAudit" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.DispatchControl": { - "type": "object", - "properties": { - "autoAssignConfidenceThreshold": { - "type": "number" - }, - "autoAssignMaxDeadheadMiles": { - "type": "integer" - }, - "autoAssignPlanningHorizonHours": { - "type": "integer" - }, - "autoAssignmentStrategy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.AutoAssignmentStrategy" - }, - "businessUnitId": { - "type": "string" - }, - "complianceEnforcementLevel": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.ComplianceEnforcementLevel" - }, - "createdAt": { - "type": "integer" - }, - "enableAutoAssignment": { - "type": "boolean" - }, - "enableAutoStopActuals": { - "type": "boolean" - }, - "enforceDriverQualificationCompliance": { - "type": "boolean" - }, - "enforceDrugAndAlcoholCompliance": { - "type": "boolean" - }, - "enforceHazmatCompliance": { - "type": "boolean" - }, - "enforceHosCompliance": { - "type": "boolean" - }, - "enforceMedicalCertCompliance": { - "type": "boolean" - }, - "enforceTrailerContinuity": { - "type": "boolean" - }, - "enforceWorkerAssign": { - "type": "boolean" - }, - "enforceWorkerPtaRestrictions": { - "type": "boolean" - }, - "enforceWorkerTractorFleetContinuity": { - "type": "boolean" - }, - "horizonMaxMovesPerDriver": { - "type": "integer" - }, - "horizonSearchIterations": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "planningMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.PlanningMode" - }, - "recordServiceFailures": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.ServiceIncidentType" - }, - "scoringWeights": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.ScoringWeights" - }, - "serviceFailureGracePeriod": { - "type": "integer" - }, - "serviceFailureTarget": { - "type": "number" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.PlanningMode": { - "type": "string", - "enum": [ - "Immediate", - "Horizon" - ], - "x-enum-varnames": [ - "PlanningModeImmediate", - "PlanningModeHorizon" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.ScoringWeights": { - "type": "object", - "additionalProperties": { - "type": "number", - "format": "float64" - } - }, - "github_com_emoss08_trenova_internal_core_domain_dispatchcontrol.ServiceIncidentType": { - "type": "string", - "enum": [ - "Never", - "Pickup", - "Delivery", - "PickupDelivery", - "AllExceptShipper" - ], - "x-enum-varnames": [ - "ServiceIncidentTypeNever", - "ServiceIncidentTypePickup", - "ServiceIncidentTypeDelivery", - "ServiceIncidentTypePickupDelivery", - "ServiceIncidentTypeAllExceptShipper" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverride": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "customer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "customerId": { - "type": "string" - }, - "destinationLocation": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - }, - "destinationLocationId": { - "type": "string" - }, - "distance": { - "type": "number" - }, - "id": { - "type": "string" - }, - "intermediateStops": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverrideStop" - } - }, - "organizationId": { - "type": "string" - }, - "originLocation": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - }, - "originLocationId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverrideStop": { - "type": "object", - "properties": { - "location": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - }, - "locationId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_document.ContentStatus": { - "type": "string", - "enum": [ - "Pending", - "Extracting", - "Extracted", - "Indexed", - "Failed" - ], - "x-enum-varnames": [ - "ContentStatusPending", - "ContentStatusExtracting", - "ContentStatusExtracted", - "ContentStatusIndexed", - "ContentStatusFailed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_document.Document": { - "type": "object", - "properties": { - "approvedAt": { - "type": "integer" - }, - "approvedById": { - "type": "string" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "checksumSha256": { - "type": "string" - }, - "contentError": { - "type": "string" - }, - "contentStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.ContentStatus" - }, - "createdAt": { - "type": "integer" - }, - "cryptoMode": { - "type": "string" - }, - "cryptoVersion": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "detectedKind": { - "type": "string" - }, - "documentType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - }, - "documentTypeId": { - "type": "string" - }, - "expirationDate": { - "type": "integer" - }, - "fileName": { - "type": "string" - }, - "fileSize": { - "type": "integer" - }, - "fileType": { - "type": "string" - }, - "hasExtractedText": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isCurrentVersion": { - "type": "boolean" - }, - "isPublic": { - "type": "boolean" - }, - "lineageId": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "originalName": { - "type": "string" - }, - "previewStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.PreviewStatus" - }, - "previewStoragePath": { - "type": "string" - }, - "processingProfile": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.ProcessingProfile" - }, - "resourceId": { - "type": "string" - }, - "resourceType": { - "type": "string" - }, - "shipmentDraftStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.ShipmentDraftStatus" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.Status" - }, - "storageLegalHold": { - "type": "boolean" - }, - "storagePath": { - "type": "string" - }, - "storageRetentionMode": { - "type": "string" - }, - "storageRetentionUntil": { - "type": "integer" - }, - "storageVersionId": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "updatedAt": { - "type": "integer" - }, - "uploadedById": { - "type": "string" - }, - "version": { - "type": "integer" - }, - "versionNumber": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_document.PreviewStatus": { - "type": "string", - "enum": [ - "Pending", - "Ready", - "Failed", - "Unsupported" - ], - "x-enum-varnames": [ - "PreviewStatusPending", - "PreviewStatusReady", - "PreviewStatusFailed", - "PreviewStatusUnsupported" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_document.ProcessingProfile": { - "type": "string", - "enum": [ - "none", - "rate_confirmation_import" - ], - "x-enum-varnames": [ - "ProcessingProfileNone", - "ProcessingProfileRateConfirmationImport" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_document.ShipmentDraftStatus": { - "type": "string", - "enum": [ - "Unavailable", - "Pending", - "Ready", - "Failed" - ], - "x-enum-varnames": [ - "ShipmentDraftStatusUnavailable", - "ShipmentDraftStatusPending", - "ShipmentDraftStatusReady", - "ShipmentDraftStatusFailed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_document.Status": { - "type": "string", - "enum": [ - "Draft", - "Active", - "Archived", - "Expired", - "Pending", - "Rejected", - "PendingApproval" - ], - "x-enum-varnames": [ - "StatusDraft", - "StatusActive", - "StatusArchived", - "StatusExpired", - "StatusPending", - "StatusRejected", - "StatusPendingApproval" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentCategory": { - "type": "string", - "enum": [ - "Shipment", - "Worker", - "Regulatory", - "Profile", - "Branding", - "Invoice", - "Contract", - "Other" - ], - "x-enum-varnames": [ - "CategoryShipment", - "CategoryWorker", - "CategoryRegulatory", - "CategoryProfile", - "CategoryBranding", - "CategoryInvoice", - "CategoryContract", - "CategoryOther" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentClassification": { - "type": "string", - "enum": [ - "Public", - "Private", - "Sensitive", - "Regulatory" - ], - "x-enum-varnames": [ - "ClassificationPublic", - "ClassificationPrivate", - "ClassificationSensitive", - "ClassificationRegulatory" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "color": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "documentCategory": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentCategory" - }, - "documentClassification": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentClassification" - }, - "id": { - "type": "string" - }, - "isSystem": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_dothazmatreference.DotHazmatReference": { - "type": "object", - "properties": { - "createdAt": { - "type": "integer" - }, - "ergGuide": { - "type": "string" - }, - "hazardClass": { - "type": "string" - }, - "id": { - "type": "string" - }, - "packagingBulk": { - "type": "string" - }, - "packagingExceptions": { - "type": "string" - }, - "packagingNonBulk": { - "type": "string" - }, - "packingGroup": { - "type": "string" - }, - "properShippingName": { - "type": "string" - }, - "quantityCargo": { - "type": "string" - }, - "quantityPassenger": { - "type": "string" - }, - "specialProvisions": { - "type": "string" - }, - "subsidiaryHazard": { - "type": "string" - }, - "symbols": { - "type": "string" - }, - "unNumber": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "vesselStowage": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_driverpay.Expense": { - "type": "object", - "properties": { - "amountMinor": { - "type": "integer" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "currencyCode": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "incurredDate": { - "type": "integer" - }, - "organizationId": { - "type": "string" - }, - "payCode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_driverpay.PayCode" - }, - "payCodeId": { - "type": "string" - }, - "receiptDocumentId": { - "type": "string" - }, - "reviewNote": { - "type": "string" - }, - "reviewedAt": { - "type": "integer" - }, - "reviewedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "reviewedById": { - "type": "string" - }, - "settlementLineId": { - "type": "string" - }, - "shipmentId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_driverpay.ExpenseStatus" - }, - "submittedByUserId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "worker": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - }, - "workerId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_driverpay.ExpenseStatus": { - "type": "string", - "enum": [ - "Pending", - "Approved", - "Rejected", - "Reimbursed", - "Cancelled" - ], - "x-enum-varnames": [ - "ExpenseStatusPending", - "ExpenseStatusApproved", - "ExpenseStatusRejected", - "ExpenseStatusReimbursed", - "ExpenseStatusCancelled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_driverpay.PayCode": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "countsTowardGuarantee": { - "type": "boolean" - }, - "createdAt": { - "type": "integer" - }, - "defaultAmountMinor": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "direction": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_driverpay.PayCodeDirection" - }, - "glAccount": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - }, - "glAccountId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isSystem": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "taxable": { - "type": "boolean" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_driverpay.PayCodeDirection": { - "type": "string", - "enum": [ - "Earning", - "Deduction" - ], - "x-enum-varnames": [ - "PayCodeDirectionEarning", - "PayCodeDirectionDeduction" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_edi.CommunicationProfileSecretState": { - "type": "object", - "properties": { - "hasValue": { - "type": "boolean" - }, - "key": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_edi.ConnectionCapabilities": { - "type": "object", - "properties": { - "invoice": { - "type": "boolean" - }, - "loadTenderInbound": { - "type": "boolean" - }, - "loadTenderOutbound": { - "type": "boolean" - }, - "shipmentStatus": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_edi.ConnectionMethod": { - "type": "string", - "enum": [ - "Internal", - "AS2", - "SFTP", - "VAN" - ], - "x-enum-varnames": [ - "ConnectionMethodInternal", - "ConnectionMethodAS2", - "ConnectionMethodSFTP", - "ConnectionMethodVAN" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_edi.ConnectionPartnerConfig": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "contactEmail": { - "type": "string" - }, - "contactName": { - "type": "string" - }, - "contactPhone": { - "type": "string" - }, - "description": { - "type": "string" - }, - "enabledForInbound": { - "type": "boolean" - }, - "enabledForOutbound": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "settings": { - "type": "object", - "additionalProperties": {} - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_edi.ConnectionStatus": { - "type": "string", - "enum": [ - "PendingAcceptance", - "Active", - "Suspended", - "Rejected", - "Revoked" - ], - "x-enum-varnames": [ - "ConnectionStatusPendingAcceptance", - "ConnectionStatusActive", - "ConnectionStatusSuspended", - "ConnectionStatusRejected", - "ConnectionStatusRevoked" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_edi.EDICommunicationProfile": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "config": { - "type": "object", - "additionalProperties": {} - }, - "connection": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIConnection" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "ediConnectionId": { - "type": "string" - }, - "ediPartnerId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "lastPollAttemptAt": { - "type": "integer" - }, - "lastPollError": { - "type": "string" - }, - "lastPollSuccessAt": { - "type": "integer" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.ConnectionMethod" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "partner": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIPartner" - }, - "secretState": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.CommunicationProfileSecretState" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_edi.EDIConnection": { - "type": "object", - "properties": { - "acceptedAt": { - "type": "integer" - }, - "acceptedById": { - "type": "string" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "capabilities": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.ConnectionCapabilities" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.ConnectionMethod" - }, - "rejectedAt": { - "type": "integer" - }, - "rejectedById": { - "type": "string" - }, - "rejectionReason": { - "type": "string" - }, - "requestedAt": { - "type": "integer" - }, - "requestedById": { - "type": "string" - }, - "revokedAt": { - "type": "integer" - }, - "revokedById": { - "type": "string" - }, - "sourceOrganization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "sourceOrganizationId": { - "type": "string" - }, - "sourcePartner": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIPartner" - }, - "sourcePartnerConfig": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.ConnectionPartnerConfig" - }, - "sourcePartnerId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.ConnectionStatus" - }, - "suspendedAt": { - "type": "integer" - }, - "suspendedById": { - "type": "string" - }, - "targetOrganization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "targetOrganizationId": { - "type": "string" - }, - "targetPartner": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIPartner" - }, - "targetPartnerConfig": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.ConnectionPartnerConfig" - }, - "targetPartnerId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_edi.EDIMappingProfile": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "ediPartnerId": { - "type": "string" - }, - "entries": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIMappingProfileItem" - } - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "partner": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIPartner" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_edi.EDIMappingProfileItem": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "createdById": { - "type": "string" - }, - "ediPartnerId": { - "type": "string" - }, - "entityType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.MappingEntityType" - }, - "id": { - "type": "string" - }, - "mappingProfileId": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "partner": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIPartner" - }, - "profile": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIMappingProfile" - }, - "sourceId": { - "type": "string" - }, - "sourceLabel": { - "type": "string" - }, - "targetId": { - "type": "string" - }, - "targetLabel": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "updatedById": { - "type": "string" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_edi.EDIPartner": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "connection": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIConnection" - }, - "contactEmail": { - "type": "string" - }, - "contactName": { - "type": "string" - }, - "contactPhone": { - "type": "string" - }, - "country": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "customer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "customerId": { - "type": "string" - }, - "defaultMappingProfileId": { - "type": "string" - }, - "defaultTransport": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDICommunicationProfile" - }, - "defaultTransportId": { - "type": "string" - }, - "description": { - "type": "string" - }, - "ediConnectionId": { - "type": "string" - }, - "enabledForInbound": { - "type": "boolean" - }, - "enabledForOutbound": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "internalOrganization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "internalOrganizationId": { - "type": "string" - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.PartnerKind" - }, - "mappingEntries": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIMappingProfileItem" - } - }, - "mappingProfile": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_edi.EDIMappingProfile" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "settings": { - "type": "object", - "additionalProperties": {} - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "timezone": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_edi.MappingEntityType": { - "type": "string", - "enum": [ - "Customer", - "ServiceType", - "ShipmentType", - "FormulaTemplate", - "Location", - "Commodity", - "AccessorialCharge", - "ServiceFailureReasonCode" - ], - "x-enum-varnames": [ - "MappingEntityTypeCustomer", - "MappingEntityTypeServiceType", - "MappingEntityTypeShipmentType", - "MappingEntityTypeFormulaTemplate", - "MappingEntityTypeLocation", - "MappingEntityTypeCommodity", - "MappingEntityTypeAccessorialCharge", - "MappingEntityTypeServiceFailureReasonCode" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_edi.PartnerKind": { - "type": "string", - "enum": [ - "Internal", - "External" - ], - "x-enum-varnames": [ - "PartnerKindInternal", - "PartnerKindExternal" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_email.Attachment": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "contentType": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "fileName": { - "type": "string" - }, - "id": { - "type": "string" - }, - "messageId": { - "type": "string" - }, - "objectKey": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "sizeBytes": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_email.Message": { - "type": "object", - "properties": { - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_email.Attachment" - } - }, - "attempts": { - "type": "integer" - }, - "bccRecipients": { - "type": "array", - "items": { - "type": "string" - } - }, - "bodyHtmlSize": { - "type": "integer" - }, - "bodyTextSize": { - "type": "integer" - }, - "businessUnitId": { - "type": "string" - }, - "ccRecipients": { - "type": "array", - "items": { - "type": "string" - } - }, - "createdAt": { - "type": "integer" - }, - "deliveredAt": { - "type": "integer" - }, - "failedAt": { - "type": "integer" - }, - "fromEmail": { - "type": "string" - }, - "fromName": { - "type": "string" - }, - "id": { - "type": "string" - }, - "idempotencyKey": { - "type": "string" - }, - "lastError": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "profile": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_email.Profile" - }, - "profileId": { - "type": "string" - }, - "provider": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_email.Provider" - }, - "providerMessageId": { - "type": "string" - }, - "purpose": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_email.Purpose" - }, - "replyToEmail": { - "type": "string" - }, - "sentAt": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_email.MessageStatus" - }, - "subject": { - "type": "string" - }, - "toRecipients": { - "type": "array", - "items": { - "type": "string" - } - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_email.MessageStatus": { - "type": "string", - "enum": [ - "Queued", - "Sending", - "Sent", - "Delivered", - "Failed", - "Bounced", - "Complained", - "Opened", - "Clicked", - "Suppressed" - ], - "x-enum-varnames": [ - "MessageStatusQueued", - "MessageStatusSending", - "MessageStatusSent", - "MessageStatusDelivered", - "MessageStatusFailed", - "MessageStatusBounced", - "MessageStatusComplained", - "MessageStatusOpened", - "MessageStatusClicked", - "MessageStatusSuppressed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_email.Profile": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "provider": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_email.Provider" - }, - "replyToEmail": { - "type": "string" - }, - "senderEmail": { - "type": "string" - }, - "senderName": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_email.ProfileStatus" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_email.ProfileStatus": { - "type": "string", - "enum": [ - "Active", - "Inactive" - ], - "x-enum-varnames": [ - "ProfileStatusActive", - "ProfileStatusInactive" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_email.Provider": { - "type": "string", - "enum": [ - "Resend", - "Postmark" - ], - "x-enum-varnames": [ - "ProviderResend", - "ProviderPostmark" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_email.Purpose": { - "type": "string", - "enum": [ - "General", - "Billing", - "Reporting", - "Operations", - "Authentication", - "Notifications" - ], - "x-enum-varnames": [ - "PurposeGeneral", - "PurposeBilling", - "PurposeReporting", - "PurposeOperations", - "PurposeAuthentication", - "PurposeNotifications" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer": { - "type": "object", - "properties": { - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_equipmenttype.Class": { - "type": "string", - "enum": [ - "Tractor", - "Trailer", - "Container", - "Other" - ], - "x-enum-varnames": [ - "ClassTractor", - "ClassTrailer", - "ClassContainer", - "ClassOther" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_equipmenttype.DeckType": { - "type": "string", - "enum": [ - "Flatbed", - "StepDeck", - "DoubleDrop", - "RGN", - "Lowboy", - "Conestoga" - ], - "x-enum-varnames": [ - "DeckTypeFlatbed", - "DeckTypeStepDeck", - "DeckTypeDoubleDrop", - "DeckTypeRGN", - "DeckTypeLowboy", - "DeckTypeConestoga" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType": { - "type": "object", - "properties": { - "axleCount": { - "type": "integer" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "class": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.Class" - }, - "code": { - "type": "string" - }, - "color": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "deckHeightInches": { - "type": "number" - }, - "deckType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.DeckType" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "interiorLength": { - "type": "number" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "wellLengthFeet": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalclose.Blocker": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "code": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_errortypes.ErrorCode" - }, - "field": { - "type": "string" - }, - "message": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalclose.EntryKind": { - "type": "string", - "enum": [ - "Closing", - "Opening" - ], - "x-enum-varnames": [ - "EntryKindClosing", - "EntryKindOpening" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalclose.Plan": { - "type": "object", - "properties": { - "blockers": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalclose.Blocker" - } - }, - "canClose": { - "type": "boolean" - }, - "closingEntry": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalclose.PlanEntry" - }, - "costOfRevenueMinor": { - "type": "integer" - }, - "fiscalYearId": { - "type": "string" - }, - "fiscalYearName": { - "type": "string" - }, - "netIncomeMinor": { - "type": "integer" - }, - "nextFiscalYearId": { - "type": "string" - }, - "nextFiscalYearName": { - "type": "string" - }, - "openingEntry": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalclose.PlanEntry" - }, - "operatingExpenseMinor": { - "type": "integer" - }, - "retainedEarningsAccountCode": { - "type": "string" - }, - "retainedEarningsAccountId": { - "type": "string" - }, - "retainedEarningsAccountName": { - "type": "string" - }, - "revenueMinor": { - "type": "integer" - }, - "revision": { - "type": "integer" - }, - "subledgerChecks": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalclose.SubledgerCheck" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalclose.PlanEntry": { - "type": "object", - "properties": { - "accountingDate": { - "type": "integer" - }, - "createsPeriod": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "fiscalPeriodId": { - "type": "string" - }, - "fiscalPeriodName": { - "type": "string" - }, - "fiscalYearId": { - "type": "string" - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalclose.EntryKind" - }, - "lines": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalclose.PlanLine" - } - }, - "totalCreditMinor": { - "type": "integer" - }, - "totalDebitMinor": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalclose.PlanLine": { - "type": "object", - "properties": { - "accountCategory": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.Category" - }, - "accountCode": { - "type": "string" - }, - "accountName": { - "type": "string" - }, - "creditMinor": { - "type": "integer" - }, - "debitMinor": { - "type": "integer" - }, - "glAccountId": { - "type": "string" - }, - "isRetainedEarnings": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalclose.SubledgerCheck": { - "type": "object", - "properties": { - "accountCode": { - "type": "string" - }, - "accountName": { - "type": "string" - }, - "differenceMinor": { - "type": "integer" - }, - "enforced": { - "description": "Enforced reports whether a mismatch blocks the close. The check is always\ncomputed and always shown; whether it stops the close is the carrier's\ncall, through RequireReconciliationToClose and ReconciliationMode.", - "type": "boolean" - }, - "glAccountId": { - "type": "string" - }, - "glBalanceMinor": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "reconciled": { - "type": "boolean" - }, - "subledgerBalanceMinor": { - "type": "integer" - }, - "toleranceMinor": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod": { - "type": "object", - "properties": { - "adjustmentDeadline": { - "description": "AdjustmentDeadline is the cutoff timestamp for posting adjusting entries\nto this period. After this deadline, adjusting entries are rejected even\nif the period is still Open or Locked and AllowAdjustingEntries is true.\n\nThis gives the controller fine-grained control: \"you have until February 15th\nto get your December adjustments in.\" After that, they close the period\nwithout having to chase people down.", - "type": "integer" - }, - "allowAdjustingEntries": { - "description": "AllowAdjustingEntries controls whether adjusting journal entries can\nbe posted to this specific period. During year-end close, the controller\nenables this on Period 12 and/or the adjusting period while keeping it\ndisabled on periods 1–11.\n\nThis field is subordinate to the fiscal year's AllowAdjustingEntries\nmaster switch. If the year-level flag is false, this field is ignored\nand no adjusting entries can be posted regardless.\n\nThe workflow:\n1. Controller locks months 1–11 throughout the year as they close\n2. At year-end, CFO enables AllowAdjustingEntries on the fiscal year\n3. Controller enables AllowAdjustingEntries on Period 12 (and/or Period 13)\n4. Auditors post their adjustments to the designated period(s)\n5. Once audit is complete, periods are closed and eventually permanently closed", - "type": "boolean" - }, - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "closedAt": { - "description": "ClosedAt records when the period was hard-closed (moved to Closed status).\nThis is the timestamp when all posting was blocked.", - "type": "integer" - }, - "closedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "closedById": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "endDate": { - "description": "EndDate is the last day of the period as a Unix epoch timestamp.\nFor adjusting periods, this matches the end date of the final\noperating period.", - "type": "integer" - }, - "fiscalYearId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isAdjusting": { - "description": "IsAdjusting flags this period as an adjusting period (Period 13/14).\nAdjusting periods overlap the date range of the last operating period.\nWhen running reports, you typically want to include or exclude adjusting\nperiods — this flag makes that filter trivial.\n\nOracle's gl_period_statuses table has an adjustment_period_flag column\nthat serves exactly this purpose. D365 identifies Period 13 as a\n\"Closing\" transaction type.", - "type": "boolean" - }, - "lockedAt": { - "description": "LockedAt records when the period was soft-closed (moved to Locked status).\nThis is the timestamp when subledger postings were cut off but manual\nJEs were still allowed.", - "type": "integer" - }, - "lockedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "lockedById": { - "type": "string" - }, - "name": { - "description": "Name is the display name (e.g. \"January 2026\", \"P1-2026\", \"Q1 2026\",\n\"Adjusting Period 2026\").", - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "periodNumber": { - "description": "PeriodNumber is the ordinal position within the fiscal year (1–12 for\nmonthly, 1–4 for quarterly, 1–13 for weekly/4-4-5, 13+ for adjusting).\nAdjusting periods (Period 13/14) use numbers above the regular count.", - "type": "integer" - }, - "periodType": { - "description": "PeriodType indicates what kind of period this is. Most carriers use\nMonth. Week is for 4-4-5 calendars. Adjusting is for Period 13\nyear-end adjustment periods.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.PeriodType" - } - ] - }, - "reopenReason": { - "type": "string" - }, - "reopenedAt": { - "type": "integer" - }, - "reopenedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "reopenedById": { - "type": "string" - }, - "startDate": { - "description": "StartDate is the first day of the period as a Unix epoch timestamp.\nFor adjusting periods, this matches the start date of the final\noperating period — they overlap intentionally.", - "type": "integer" - }, - "status": { - "description": "Status tracks the period's position in its lifecycle.\nInactive → Open → Locked → Closed → PermanentlyClosed.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.Status" - } - ] - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalperiod.PeriodType": { - "type": "string", - "enum": [ - "Month", - "Quarter", - "Week", - "Adjusting" - ], - "x-enum-varnames": [ - "PeriodTypeMonth", - "PeriodTypeQuarter", - "PeriodTypeWeek", - "PeriodTypeAdjusting" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalperiod.Status": { - "type": "string", - "enum": [ - "Inactive", - "Open", - "Locked", - "Closed", - "PermanentlyClosed" - ], - "x-enum-varnames": [ - "StatusInactive", - "StatusOpen", - "StatusLocked", - "StatusClosed", - "StatusPermanentlyClosed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear": { - "type": "object", - "properties": { - "allowAdjustingEntries": { - "description": "AllowAdjustingEntries is the master switch for whether any period in this\nfiscal year can accept adjusting journal entries. If false, no period can\naccept adjusting entries regardless of its own per-period setting. If true,\nit defers to each period's AllowAdjustingEntries flag. This gives the CFO\na single kill-switch to lock down the entire year.", - "type": "boolean" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "closedAt": { - "type": "integer" - }, - "closedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "closedById": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "description": "Description is optional free-text for notes about this fiscal year.", - "type": "string" - }, - "endDate": { - "description": "EndDate is the last day of the fiscal year as a Unix epoch timestamp.", - "type": "integer" - }, - "id": { - "type": "string" - }, - "isCalendarYear": { - "description": "IsCalendarYear is a denormalized flag indicating the fiscal year aligns\nwith Jan 1 – Dec 31. Saves a date comparison on every query that needs\nto know whether this is a standard or offset fiscal year.", - "type": "boolean" - }, - "isCurrent": { - "description": "IsCurrent indicates this is the active fiscal year for day-to-day operations.\nOnly one fiscal year per organization+business_unit can be current at a time.\nEnforced at the DB level with a partial unique index where is_current = TRUE.", - "type": "boolean" - }, - "lockedAt": { - "type": "integer" - }, - "lockedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "lockedById": { - "type": "string" - }, - "name": { - "description": "Name is the display name (e.g. \"FY2026\", \"Fiscal Year 2025-2026\").", - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "periods": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - }, - "reopenReason": { - "type": "string" - }, - "reopenedAt": { - "type": "integer" - }, - "reopenedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "reopenedById": { - "type": "string" - }, - "startDate": { - "description": "StartDate is the first day of the fiscal year as a Unix epoch timestamp.", - "type": "integer" - }, - "status": { - "description": "Status tracks the fiscal year's position in its lifecycle.\nDraft → Open → Closed → PermanentlyClosed.\nOnly Closed can revert to Open (with proper authorization).", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.Status" - } - ] - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "year": { - "description": "Year is the fiscal year number (e.g. 2026). For fiscal years that span\ncalendar years (Oct 2025 – Sep 2026), this is typically the year the\nfiscal year ends in, but the carrier can set it to match their convention.", - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fiscalyear.Status": { - "type": "string", - "enum": [ - "Draft", - "Open", - "Closed", - "PermanentlyClosed" - ], - "x-enum-varnames": [ - "StatusDraft", - "StatusOpen", - "StatusClosed", - "StatusPermanentlyClosed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "color": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "deadheadGoal": { - "type": "number" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "manager": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "managerId": { - "type": "string" - }, - "mileageGoal": { - "type": "number" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "revenueGoal": { - "type": "number" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate": { - "type": "object", - "properties": { - "approvedAt": { - "type": "integer" - }, - "approvedById": { - "type": "string" - }, - "breakdownDefinitions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.BreakdownDefinition" - } - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "currentVersionNumber": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "expression": { - "type": "string" - }, - "id": { - "type": "string" - }, - "maxCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "metadata": { - "type": "object", - "additionalProperties": {} - }, - "minCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "reviewComment": { - "type": "string" - }, - "roundingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.RoundingMode" - }, - "roundingPrecision": { - "type": "integer" - }, - "schemaId": { - "type": "string" - }, - "sourceTemplate": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - }, - "sourceTemplateId": { - "type": "string" - }, - "sourceVersionNumber": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.Status" - }, - "submittedAt": { - "type": "integer" - }, - "submittedById": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.TemplateType" - }, - "updatedAt": { - "type": "integer" - }, - "variableDefinitions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.VariableDefinition" - } - }, - "version": { - "type": "integer" - }, - "versions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplateVersion" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplateVersion": { - "type": "object", - "properties": { - "breakdownDefinitions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.BreakdownDefinition" - } - }, - "businessUnitId": { - "type": "string" - }, - "changeMessage": { - "type": "string" - }, - "changeSummary": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/jsonutils.FieldChange" - } - }, - "createdAt": { - "type": "integer" - }, - "createdBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "createdById": { - "type": "string" - }, - "description": { - "type": "string" - }, - "effectiveFrom": { - "type": "integer" - }, - "expression": { - "type": "string" - }, - "id": { - "type": "string" - }, - "maxCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "metadata": { - "type": "object", - "additionalProperties": {} - }, - "minCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "roundingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.RoundingMode" - }, - "roundingPrecision": { - "type": "integer" - }, - "schemaId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.Status" - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.VersionTag" - } - }, - "templateId": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.TemplateType" - }, - "variableDefinitions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.VariableDefinition" - } - }, - "versionNumber": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_formulatemplate.Review": { - "type": "object", - "properties": { - "actor": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "actorId": { - "type": "string" - }, - "baseVersionNumber": { - "type": "integer" - }, - "businessUnitId": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "decision": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.ReviewDecision" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "round": { - "type": "integer" - }, - "templateId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_formulatemplate.ReviewDecision": { - "type": "string", - "enum": [ - "Submitted", - "Approved", - "Rejected", - "ChangesRequested", - "Expired" - ], - "x-enum-varnames": [ - "ReviewDecisionSubmitted", - "ReviewDecisionApproved", - "ReviewDecisionRejected", - "ReviewDecisionChangesRequested", - "ReviewDecisionExpired" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_formulatemplate.Status": { - "type": "string", - "enum": [ - "Active", - "Inactive", - "Draft", - "InReview" - ], - "x-enum-varnames": [ - "StatusActive", - "StatusInactive", - "StatusDraft", - "StatusInReview" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_formulatemplate.TemplateType": { - "type": "string", - "enum": [ - "FreightCharge", - "AccessorialCharge" - ], - "x-enum-varnames": [ - "TemplateTypeFreightCharge", - "TemplateTypeAccessorialCharge" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_formulatemplate.TestCase": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "createdById": { - "type": "string" - }, - "description": { - "type": "string" - }, - "expectedAmount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "templateId": { - "type": "string" - }, - "tolerance": { - "type": "number" - }, - "updatedAt": { - "type": "integer" - }, - "variables": { - "type": "object", - "additionalProperties": {} - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_formulatemplate.VersionTag": { - "type": "string", - "enum": [ - "Stable", - "Production", - "Draft", - "Testing", - "Deprecated" - ], - "x-enum-varnames": [ - "VersionTagStable", - "VersionTagProduction", - "VersionTagDraft", - "VersionTagTesting", - "VersionTagDeprecated" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.DateBasis": { - "type": "string", - "enum": [ - "PickupDate", - "TenderDate" - ], - "x-enum-varnames": [ - "DateBasisPickupDate", - "DateBasisTenderDate" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.FuelIndex": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "currency": { - "type": "string" - }, - "description": { - "type": "string" - }, - "eiaSeriesId": { - "type": "string" - }, - "fuelType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.FuelType" - }, - "id": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "region": { - "type": "string" - }, - "source": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.IndexSource" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.FuelSurchargeProgram": { - "type": "object", - "properties": { - "accessorialCharge": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - }, - "accessorialChargeId": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "dateBasis": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.DateBasis" - }, - "description": { - "type": "string" - }, - "effectiveEndDate": { - "type": "integer" - }, - "effectiveStartDate": { - "type": "integer" - }, - "fuelIndex": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.FuelIndex" - }, - "fuelIndexId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "increment": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "incrementRate": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "maxAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.ProgramMethod" - }, - "milesPerGallon": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "minAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "missingPriceFallback": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.MissingPriceFallback" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "pegPrice": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "percentBasis": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.PercentBasis" - }, - "priceEffectiveDay": { - "type": "integer" - }, - "ratePrecision": { - "type": "integer" - }, - "rateRounding": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.RateRounding" - }, - "serviceTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "shipmentTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.ProgramStatus" - }, - "stepRounding": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.StepRounding" - }, - "tableRows": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.FuelSurchargeTableRow" - } - }, - "tractorTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "trailerTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.FuelSurchargeTableRow": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "fuelSurchargeProgramId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "priceMax": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "priceMin": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "sortOrder": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "value": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.FuelType": { - "type": "string", - "enum": [ - "Diesel", - "Gasoline" - ], - "x-enum-varnames": [ - "FuelTypeDiesel", - "FuelTypeGasoline" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.IndexSource": { - "type": "string", - "enum": [ - "EIA", - "Custom" - ], - "x-enum-varnames": [ - "IndexSourceEIA", - "IndexSourceCustom" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.MissingPriceFallback": { - "type": "string", - "enum": [ - "UseLatestAvailable", - "Skip" - ], - "x-enum-varnames": [ - "FallbackUseLatestAvailable", - "FallbackSkip" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.PercentBasis": { - "type": "string", - "enum": [ - "Linehaul", - "LinehaulPlusAccessorials" - ], - "x-enum-varnames": [ - "PercentBasisLinehaul", - "PercentBasisLinehaulPlusAccessorials" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.ProgramMethod": { - "type": "string", - "enum": [ - "PerMileStep", - "PerMileMPG", - "TablePerMile", - "TablePercent", - "TableFlat" - ], - "x-enum-varnames": [ - "ProgramMethodPerMileStep", - "ProgramMethodPerMileMPG", - "ProgramMethodTablePerMile", - "ProgramMethodTablePercent", - "ProgramMethodTableFlat" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.ProgramStatus": { - "type": "string", - "enum": [ - "Active", - "Inactive" - ], - "x-enum-varnames": [ - "ProgramStatusActive", - "ProgramStatusInactive" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.RateRounding": { - "type": "string", - "enum": [ - "HalfUp", - "Up", - "Down" - ], - "x-enum-varnames": [ - "RateRoundingHalfUp", - "RateRoundingUp", - "RateRoundingDown" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.StepRounding": { - "type": "string", - "enum": [ - "Up", - "Down", - "Nearest" - ], - "x-enum-varnames": [ - "StepRoundingUp", - "StepRoundingDown", - "StepRoundingNearest" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_geofence.Type": { - "type": "string", - "enum": [ - "auto", - "circle", - "rectangle", - "draw" - ], - "x-enum-varnames": [ - "TypeAuto", - "TypeCircle", - "TypeRectangle", - "TypeDraw" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_geofence.Vertex": { - "type": "object", - "properties": { - "latitude": { - "type": "number" - }, - "longitude": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount": { - "type": "object", - "properties": { - "accountCode": { - "type": "string" - }, - "accountType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - }, - "accountTypeId": { - "type": "string" - }, - "allowManualJe": { - "type": "boolean" - }, - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - }, - "createdAt": { - "type": "integer" - }, - "creditBalance": { - "type": "integer" - }, - "currentBalance": { - "type": "integer" - }, - "debitBalance": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isSystem": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "parent": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - }, - "parentId": { - "type": "string" - }, - "requireProject": { - "type": "boolean" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousClass": { - "type": "string", - "enum": [ - "HazardClass1", - "HazardClass1And1", - "HazardClass1And2", - "HazardClass1And3", - "HazardClass1And4", - "HazardClass1And5", - "HazardClass1And6", - "HazardClass2And1", - "HazardClass2And2", - "HazardClass2And3", - "HazardClass3", - "HazardClass4And1", - "HazardClass4And2", - "HazardClass4And3", - "HazardClass5And1", - "HazardClass5And2", - "HazardClass6And1", - "HazardClass6And2", - "HazardClass7", - "HazardClass8", - "HazardClass9" - ], - "x-enum-varnames": [ - "HazardousClass1", - "HazardousClass1And1", - "HazardousClass1And2", - "HazardousClass1And3", - "HazardousClass1And4", - "HazardousClass1And5", - "HazardousClass1And6", - "HazardousClass2And1", - "HazardousClass2And2", - "HazardousClass2And3", - "HazardousClass3", - "HazardousClass4And1", - "HazardousClass4And2", - "HazardousClass4And3", - "HazardousClass5And1", - "HazardousClass5And2", - "HazardousClass6And1", - "HazardousClass6And2", - "HazardousClass7", - "HazardousClass8", - "HazardousClass9" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial": { - "type": "object", - "properties": { - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "class": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousClass" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "emergencyContact": { - "type": "string" - }, - "emergencyContactPhoneNumber": { - "type": "string" - }, - "ergGuideNumber": { - "type": "string" - }, - "handlingInstructions": { - "type": "string" - }, - "id": { - "type": "string" - }, - "inhalationHazard": { - "type": "boolean" - }, - "isReportableQuantity": { - "type": "boolean" - }, - "labelCodes": { - "type": "string" - }, - "marinePollutant": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "packingGroup": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.PackingGroup" - }, - "placardRequired": { - "type": "boolean" - }, - "properShippingName": { - "type": "string" - }, - "quantityThreshold": { - "type": "string" - }, - "specialProvisions": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "subsidiaryHazardClass": { - "type": "string" - }, - "unNumber": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.PackingGroup": { - "type": "string", - "enum": [ - "I", - "II", - "III" - ], - "x-enum-varnames": [ - "PackingGroupI", - "PackingGroupII", - "PackingGroupIII" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.HazmatSegregationRule": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "classA": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousClass" - }, - "classB": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousClass" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "distanceUnit": { - "type": "string" - }, - "exceptionNotes": { - "type": "string" - }, - "hasExceptions": { - "type": "boolean" - }, - "hazmatAId": { - "type": "string" - }, - "hazmatAMaterial": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - }, - "hazmatBId": { - "type": "string" - }, - "hazmatBMaterial": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - }, - "id": { - "type": "string" - }, - "minimumDistance": { - "type": "number" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "referenceCode": { - "type": "string" - }, - "regulationSource": { - "type": "string" - }, - "segregationType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.SegregationType" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.SegregationType": { - "type": "string", - "enum": [ - "Prohibited", - "Separated", - "Distance", - "Barrier" - ], - "x-enum-varnames": [ - "SegregationTypeProhibited", - "SegregationTypeSeparated", - "SegregationTypeDistance", - "SegregationTypeBarrier" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason": { - "type": "object", - "properties": { - "active": { - "type": "boolean" - }, - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "defaultBlocksBilling": { - "type": "boolean" - }, - "defaultBlocksDelivery": { - "type": "boolean" - }, - "defaultBlocksDispatch": { - "type": "boolean" - }, - "defaultSeverity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldSeverity" - }, - "defaultVisibleToCustomer": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "externalMap": { - "type": "object", - "additionalProperties": {} - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "sortOrder": { - "type": "integer" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldType" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_holdreason.HoldSeverity": { - "type": "string", - "enum": [ - "Informational", - "Advisory", - "Blocking" - ], - "x-enum-varnames": [ - "HoldSeverityInformational", - "HoldSeverityAdvisory", - "HoldSeverityBlocking" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_holdreason.HoldType": { - "type": "string", - "enum": [ - "OperationalHold", - "ComplianceHold", - "CustomerHold", - "FinanceHold" - ], - "x-enum-varnames": [ - "HoldTypeOperational", - "HoldTypeCompliance", - "HoldTypeCustomer", - "HoldTypeFinance" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.Attachment": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "document": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.Document" - }, - "documentId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "invoiceId": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "selected": { - "type": "boolean" - }, - "sortOrder": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.AttachmentDeliveryMethod": { - "type": "string", - "enum": [ - "Attached", - "Link", - "Skipped", - "Failed" - ], - "x-enum-varnames": [ - "AttachmentDeliveryMethodAttached", - "AttachmentDeliveryMethodLink", - "AttachmentDeliveryMethodSkipped", - "AttachmentDeliveryMethodFailed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.DisputeStatus": { - "type": "string", - "enum": [ - "None", - "Disputed" - ], - "x-enum-varnames": [ - "DisputeStatusNone", - "DisputeStatusDisputed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.DocumentShareToken": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "createdById": { - "type": "string" - }, - "document": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.Document" - }, - "documentId": { - "type": "string" - }, - "downloadedAt": { - "type": "integer" - }, - "expiresAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "invoiceId": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "revokedAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.EDISendStatus": { - "type": "string", - "enum": [ - "NotSent", - "NotConfigured", - "Queued", - "Generated", - "Sending", - "Sent", - "Failed", - "DeadLettered" - ], - "x-enum-varnames": [ - "EDISendStatusNotSent", - "EDISendStatusNotConfigured", - "EDISendStatusQueued", - "EDISendStatusGenerated", - "EDISendStatusSending", - "EDISendStatusSent", - "EDISendStatusFailed", - "EDISendStatusDeadLettered" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.EmailAttempt": { - "type": "object", - "properties": { - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.EmailAttemptAttachment" - } - }, - "attemptNumber": { - "type": "integer" - }, - "bccRecipients": { - "type": "array", - "items": { - "type": "string" - } - }, - "body": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "ccRecipients": { - "type": "array", - "items": { - "type": "string" - } - }, - "createdAt": { - "type": "integer" - }, - "createdById": { - "type": "string" - }, - "email": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_email.Message" - }, - "emailMessageId": { - "type": "string" - }, - "error": { - "type": "string" - }, - "estimatedSize": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "invoiceId": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "partNumber": { - "type": "integer" - }, - "provider": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_email.Provider" - }, - "providerMessageId": { - "type": "string" - }, - "sentAt": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.SendStatus" - }, - "subject": { - "type": "string" - }, - "toRecipients": { - "type": "array", - "items": { - "type": "string" - } - }, - "totalParts": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "warnings": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.EmailAttemptAttachment": { - "type": "object", - "properties": { - "attemptId": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "contentType": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "document": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.Document" - }, - "documentId": { - "type": "string" - }, - "encodedBytes": { - "type": "integer" - }, - "fileName": { - "type": "string" - }, - "id": { - "type": "string" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.AttachmentDeliveryMethod" - }, - "organizationId": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "shareToken": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.DocumentShareToken" - }, - "shareTokenId": { - "type": "string" - }, - "sizeBytes": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.Invoice": { - "type": "object", - "properties": { - "appliedAmount": { - "type": "number" - }, - "appliedAmountMinor": { - "type": "integer" - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.Attachment" - } - }, - "balanceDueMinor": { - "type": "integer" - }, - "billToAddressLine1": { - "type": "string" - }, - "billToAddressLine2": { - "type": "string" - }, - "billToCity": { - "type": "string" - }, - "billToCode": { - "type": "string" - }, - "billToCountry": { - "type": "string" - }, - "billToName": { - "type": "string" - }, - "billToPostalCode": { - "type": "string" - }, - "billToState": { - "type": "string" - }, - "billType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillType" - }, - "billingQueueItem": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillingQueueItem" - }, - "billingQueueItemId": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "correctionGroupId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "currencyCode": { - "type": "string" - }, - "customer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "customerId": { - "type": "string" - }, - "detail": { - "description": "Detail and SectionBy are stamped from the customer's billing profile when\nthe invoice is created, not read back at render time. A customer who\nchanges their preference next month must not silently change how an invoice\nthey were already sent reads.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceDetail" - } - ] - }, - "disputeStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.DisputeStatus" - }, - "dueDate": { - "type": "integer" - }, - "ediSendStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.EDISendStatus" - }, - "ediSentAt": { - "type": "integer" - }, - "emailAttempts": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.EmailAttempt" - } - }, - "emailBccSnapshot": { - "type": "array", - "items": { - "type": "string" - } - }, - "emailBodySnapshot": { - "type": "string" - }, - "emailCcSnapshot": { - "type": "array", - "items": { - "type": "string" - } - }, - "emailSubjectSnapshot": { - "type": "string" - }, - "emailToSnapshot": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "invoiceDate": { - "type": "integer" - }, - "invoiceRunId": { - "type": "string" - }, - "isAdjustmentArtifact": { - "type": "boolean" - }, - "isSplitBill": { - "type": "boolean" - }, - "lastEdiError": { - "type": "string" - }, - "lastEdiMessageId": { - "type": "string" - }, - "lastSendError": { - "type": "string" - }, - "lastSendWarning": { - "type": "string" - }, - "lines": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.InvoiceLine" - } - }, - "memo": { - "type": "string" - }, - "memoKind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.MemoKind" - }, - "memoReason": { - "type": "string" - }, - "number": { - "type": "string" - }, - "offCycleReason": { - "description": "OffCycleReason is why this invoice was cut for a customer whose freight was\nsupposed to accumulate onto a statement. Empty on every ordinary invoice.", - "type": "string" - }, - "order": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_order.Order" - }, - "orderId": { - "type": "string" - }, - "orderNumber": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "otherAmount": { - "type": "number" - }, - "otherAmountMinor": { - "type": "integer" - }, - "paymentTerm": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.PaymentTerm" - }, - "pdfDocument": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.Document" - }, - "pdfDocumentId": { - "type": "string" - }, - "periodEnd": { - "type": "integer" - }, - "periodStart": { - "type": "integer" - }, - "postedAt": { - "type": "integer" - }, - "referenceInvoice": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.Invoice" - }, - "referenceInvoiceId": { - "type": "string" - }, - "remittanceInstructions": { - "type": "string" - }, - "scope": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.Scope" - }, - "sectionBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceSectionKey" - }, - "sendStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.SendStatus" - }, - "sentAt": { - "type": "integer" - }, - "sentById": { - "type": "string" - }, - "serviceDate": { - "type": "integer" - }, - "settlementStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.SettlementStatus" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "shipmentBol": { - "type": "string" - }, - "shipmentCount": { - "type": "integer" - }, - "shipmentId": { - "type": "string" - }, - "shipmentProNumber": { - "type": "string" - }, - "shipperCustomer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "shipperCustomerId": { - "type": "string" - }, - "sourceInvoiceAdjustmentId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.Status" - }, - "subtotalAmount": { - "type": "number" - }, - "subtotalAmountMinor": { - "type": "integer" - }, - "supersededByInvoiceId": { - "type": "string" - }, - "supersedesInvoiceId": { - "type": "string" - }, - "totalAmount": { - "type": "number" - }, - "totalAmountMinor": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "voidDisposition": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.VoidDisposition" - }, - "voidReason": { - "type": "string" - }, - "voidedAt": { - "type": "integer" - }, - "voidedByAdjustmentId": { - "type": "string" - }, - "voidedById": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.InvoiceLine": { - "type": "object", - "properties": { - "accessorialChargeId": { - "type": "string" - }, - "allocationPercent": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "amount": { - "type": "number" - }, - "amountMinor": { - "type": "integer" - }, - "businessUnitId": { - "type": "string" - }, - "chargeAllocationId": { - "type": "string" - }, - "chargeCode": { - "type": "string" - }, - "chargeMethod": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.Method" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "formulaTemplateName": { - "type": "string" - }, - "id": { - "type": "string" - }, - "invoiceId": { - "type": "string" - }, - "lineNumber": { - "type": "integer" - }, - "organizationId": { - "type": "string" - }, - "quantity": { - "type": "number" - }, - "rate": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "rateBasisAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "rateUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.RateUnit" - }, - "shipmentBol": { - "type": "string" - }, - "shipmentId": { - "type": "string" - }, - "shipmentProNumber": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.InvoiceLineType" - }, - "unitPrice": { - "type": "number" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.InvoiceLineType": { - "type": "string", - "enum": [ - "Freight", - "Accessorial", - "Memo" - ], - "x-enum-varnames": [ - "InvoiceLineTypeFreight", - "InvoiceLineTypeAccessorial", - "InvoiceLineTypeMemo" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.MemoKind": { - "type": "string", - "enum": [ - "Manual", - "LateCharge" - ], - "x-enum-varnames": [ - "MemoKindManual", - "MemoKindLateCharge" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.PaymentTerm": { - "type": "string", - "enum": [ - "Net10", - "Net15", - "Net30", - "Net45", - "Net60", - "Net90", - "DueOnReceipt" - ], - "x-enum-varnames": [ - "PaymentTermNet10", - "PaymentTermNet15", - "PaymentTermNet30", - "PaymentTermNet45", - "PaymentTermNet60", - "PaymentTermNet90", - "PaymentTermDueOnReceipt" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.Scope": { - "type": "string", - "enum": [ - "Shipment", - "Order", - "Consolidated", - "Adjustment", - "Memo" - ], - "x-enum-varnames": [ - "ScopeShipment", - "ScopeOrder", - "ScopeConsolidated", - "ScopeAdjustment", - "ScopeMemo" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.SendStatus": { - "type": "string", - "enum": [ - "NotSent", - "Sending", - "Sent", - "PartiallySent", - "Failed" - ], - "x-enum-varnames": [ - "SendStatusNotSent", - "SendStatusSending", - "SendStatusSent", - "SendStatusPartiallySent", - "SendStatusFailed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.SettlementStatus": { - "type": "string", - "enum": [ - "Unpaid", - "PartiallyPaid", - "Paid" - ], - "x-enum-varnames": [ - "SettlementStatusUnpaid", - "SettlementStatusPartiallyPaid", - "SettlementStatusPaid" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.Status": { - "type": "string", - "enum": [ - "Draft", - "Posted", - "Voided" - ], - "x-enum-varnames": [ - "StatusDraft", - "StatusPosted", - "StatusVoided" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoice.VoidDisposition": { - "type": "string", - "enum": [ - "Rebill", - "DoNotRebill" - ], - "x-enum-varnames": [ - "VoidDispositionRebill", - "VoidDispositionDoNotRebill" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoicerun.GroupStatus": { - "type": "string", - "enum": [ - "Pending", - "Committed", - "Skipped", - "Failed" - ], - "x-enum-varnames": [ - "GroupStatusPending", - "GroupStatusCommitted", - "GroupStatusSkipped", - "GroupStatusFailed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRun": { - "type": "object", - "properties": { - "builtAt": { - "type": "integer" - }, - "builtById": { - "type": "string" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "canceledAt": { - "type": "integer" - }, - "canceledById": { - "type": "string" - }, - "committedAt": { - "type": "integer" - }, - "committedById": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "currencyCode": { - "type": "string" - }, - "customerIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "cycle": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.BillingCycle" - }, - "excludedCount": { - "type": "integer" - }, - "failureReason": { - "type": "string" - }, - "groupCount": { - "type": "integer" - }, - "groups": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRunGroup" - } - }, - "id": { - "type": "string" - }, - "invoiceCount": { - "type": "integer" - }, - "invoiceDate": { - "type": "integer" - }, - "itemCount": { - "type": "integer" - }, - "number": { - "type": "string" - }, - "offCycleReason": { - "description": "OffCycleReason is why this run billed a period before its boundary. Empty\non the ordinary path. It is kept on the run rather than only in the audit\nlog because the next biller looking at the customer's history needs to see\nwhy a month has two invoices without going hunting for it.", - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "periodEnd": { - "type": "integer" - }, - "periodStart": { - "type": "integer" - }, - "source": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.Source" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.Status" - }, - "totalAmount": { - "type": "number" - }, - "totalAmountMinor": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRunGroup": { - "type": "object", - "properties": { - "autoBill": { - "description": "AutoBill says the customer asked for this to bill without review, so a\nscheduled run commits it rather than leaving it for a biller.", - "type": "boolean" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "currencyCode": { - "type": "string" - }, - "customer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "customerId": { - "type": "string" - }, - "groupKey": { - "type": "string" - }, - "groupLabel": { - "type": "string" - }, - "id": { - "type": "string" - }, - "invoice": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.Invoice" - }, - "invoiceId": { - "type": "string" - }, - "itemCount": { - "type": "integer" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRunGroupItem" - } - }, - "minimumAmount": { - "description": "MinimumAmount is the customer's floor for a statement, copied onto the group\nwhen the run is built. A group below it defers to the next period rather\nthan billing, so a customer is not sent a four-dollar invoice.", - "allOf": [ - { - "$ref": "#/definitions/decimal.NullDecimal" - } - ] - }, - "organizationId": { - "type": "string" - }, - "runId": { - "type": "string" - }, - "skipReason": { - "type": "string" - }, - "splitBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceSplitKey" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.GroupStatus" - }, - "subtotalAmount": { - "type": "number" - }, - "subtotalAmountMinor": { - "type": "integer" - }, - "totalAmount": { - "type": "number" - }, - "totalAmountMinor": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRunGroupItem": { - "type": "object", - "properties": { - "amount": { - "type": "number" - }, - "amountMinor": { - "type": "integer" - }, - "billingQueueItemId": { - "type": "string" - }, - "bol": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "excluded": { - "type": "boolean" - }, - "exclusionReason": { - "type": "string" - }, - "groupId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "orderId": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "poNumber": { - "type": "string" - }, - "proNumber": { - "type": "string" - }, - "runId": { - "type": "string" - }, - "serviceDate": { - "type": "integer" - }, - "shipmentId": { - "type": "string" - }, - "sortKey": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_invoicerun.Source": { - "type": "string", - "enum": [ - "Manual", - "Scheduled" - ], - "x-enum-varnames": [ - "SourceManual", - "SourceScheduled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_invoicerun.Status": { - "type": "string", - "enum": [ - "Building", - "Ready", - "Committing", - "Committed", - "Failed", - "Canceled" - ], - "x-enum-varnames": [ - "StatusBuilding", - "StatusReady", - "StatusCommitting", - "StatusCommitted", - "StatusFailed", - "StatusCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.EscortRequirement": { - "type": "object", - "properties": { - "actual": { - "type": "number" - }, - "note": { - "type": "string" - }, - "role": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.EscortRole" - }, - "threshold": { - "type": "number" - }, - "trigger": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.TriggerKind" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.EscortRole": { - "type": "string", - "enum": [ - "Front", - "Rear", - "Police", - "RouteSurvey" - ], - "x-enum-varnames": [ - "EscortRoleFront", - "EscortRoleRear", - "EscortRolePolice", - "EscortRoleSurvey" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.EscortThreshold": { - "type": "object", - "properties": { - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "jurisdictionRuleId": { - "type": "string" - }, - "note": { - "type": "string" - }, - "role": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.EscortRole" - }, - "thresholdValue": { - "type": "number" - }, - "trigger": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.TriggerKind" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.Exceedance": { - "type": "object", - "properties": { - "actual": { - "type": "number" - }, - "limit": { - "type": "number" - }, - "overBy": { - "type": "number" - }, - "superload": { - "type": "boolean" - }, - "trigger": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.TriggerKind" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.JurisdictionRule": { - "type": "object", - "properties": { - "createdAt": { - "type": "integer" - }, - "daylightOnly": { - "type": "boolean" - }, - "effectiveEndDate": { - "type": "integer" - }, - "effectiveStartDate": { - "type": "integer" - }, - "escortThresholds": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.EscortThreshold" - } - }, - "holidayRestricted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "maxHeightFeet": { - "type": "number" - }, - "maxLengthFeet": { - "type": "number" - }, - "maxWeightPounds": { - "type": "integer" - }, - "maxWidthFeet": { - "type": "number" - }, - "permitBaseFee": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "permitLeadTimeDays": { - "type": "integer" - }, - "permitPerMileFee": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "permitValidityDays": { - "type": "integer" - }, - "rushHourRestricted": { - "type": "boolean" - }, - "sourceNote": { - "type": "string" - }, - "sourceUrl": { - "type": "string" - }, - "state": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "stateId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.Status" - }, - "superloadWeightPounds": { - "type": "integer" - }, - "superloadWidthFeet": { - "type": "number" - }, - "updatedAt": { - "type": "integer" - }, - "verificationState": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.VerificationState" - }, - "verifiedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "weekendRestricted": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.Override": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "daylightOnly": { - "type": "boolean" - }, - "holidayRestricted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "maxHeightFeet": { - "type": "number" - }, - "maxLengthFeet": { - "type": "number" - }, - "maxWeightPounds": { - "type": "integer" - }, - "maxWidthFeet": { - "type": "number" - }, - "organizationId": { - "type": "string" - }, - "permitLeadTimeDays": { - "type": "integer" - }, - "reason": { - "type": "string" - }, - "state": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "stateId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.RestrictionKind": { - "type": "string", - "enum": [ - "DaylightOnly", - "RushHour", - "Weekend", - "Holiday", - "NightOnly" - ], - "x-enum-varnames": [ - "RestrictionDaylightOnly", - "RestrictionRushHour", - "RestrictionWeekend", - "RestrictionHoliday", - "RestrictionNightOnly" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.Status": { - "type": "string", - "enum": [ - "Active", - "Inactive", - "Draft" - ], - "x-enum-varnames": [ - "StatusActive", - "StatusInactive", - "StatusDraft" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.TriggerKind": { - "type": "string", - "enum": [ - "Width", - "Height", - "Length", - "Weight", - "Superload" - ], - "x-enum-varnames": [ - "TriggerWidth", - "TriggerHeight", - "TriggerLength", - "TriggerWeight", - "TriggerSuperload" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.VerificationState": { - "type": "string", - "enum": [ - "Unverified", - "Verified", - "Disputed" - ], - "x-enum-varnames": [ - "VerificationUnverified", - "VerificationVerified", - "VerificationDisputed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_location.Location": { - "type": "object", - "properties": { - "addressLine1": { - "type": "string" - }, - "addressLine2": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "city": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "geofenceRadiusMeters": { - "type": "number" - }, - "geofenceType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_geofence.Type" - }, - "geofenceVertices": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_geofence.Vertex" - } - }, - "id": { - "type": "string" - }, - "isGeocoded": { - "type": "boolean" - }, - "latitude": { - "type": "number" - }, - "locationCategory": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory" - }, - "locationCategoryId": { - "type": "string" - }, - "longitude": { - "type": "number" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "placeId": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "state": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "stateId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "timezone": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_locationcategory.Category": { - "type": "string", - "enum": [ - "Terminal", - "Warehouse", - "DistributionCenter", - "TruckStop", - "RestArea", - "CustomerLocation", - "Port", - "RailYard", - "MaintenanceFacility" - ], - "x-enum-varnames": [ - "CategoryTerminal", - "CategoryWarehouse", - "CategoryDistributionCenter", - "CategoryTruckStop", - "CategoryRestArea", - "CategoryCustomerLocation", - "CategoryPort", - "CategoryRailYard", - "CategoryMaintenanceFacility" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_locationcategory.FacilityType": { - "type": "string", - "enum": [ - "CrossDock", - "StorageWarehouse", - "ColdStorage", - "HazmatFacility", - "IntermodalFacility" - ], - "x-enum-varnames": [ - "FacilityTypeCrossDock", - "FacilityTypeStorageWarehouse", - "FacilityTypeColdStorage", - "FacilityTypeHazmatFacility", - "FacilityTypeIntermodalFacility" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory": { - "type": "object", - "properties": { - "allowsOvernight": { - "type": "boolean" - }, - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "color": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "facilityType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.FacilityType" - }, - "hasRestroom": { - "type": "boolean" - }, - "hasSecureParking": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "requiresAppointment": { - "type": "boolean" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.Category" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_modeprofile.Capability": { - "type": "string", - "enum": [ - "Core", - "TemperatureControl", - "Hazmat", - "DimensionalCargo", - "Permitting", - "CompartmentizedCargo", - "MeteredQuantity", - "PieceLevelTracking", - "ContainerizedEquipment", - "CrewBased", - "MultiShipmentConsolidation", - "AppointmentRequired" - ], - "x-enum-varnames": [ - "CapabilityCore", - "CapabilityTemperatureControl", - "CapabilityHazmat", - "CapabilityDimensionalCargo", - "CapabilityPermitting", - "CapabilityCompartmentizedCargo", - "CapabilityMeteredQuantity", - "CapabilityPieceLevelTracking", - "CapabilityContainerizedEquipment", - "CapabilityCrewBased", - "CapabilityMultiShipmentConsolidate", - "CapabilityAppointmentRequired" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_modeprofile.EquipmentClass": { - "type": "string", - "enum": [ - "DryVan", - "Refrigerated", - "Flatbed", - "Tank", - "DryBulk", - "Container", - "AutoRack", - "StraightTruck" - ], - "x-enum-varnames": [ - "EquipmentClassDryVan", - "EquipmentClassRefrigerated", - "EquipmentClassFlatbed", - "EquipmentClassTank", - "EquipmentClassDryBulk", - "EquipmentClassContainer", - "EquipmentClassAutoRack", - "EquipmentClassStraightTruck" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_modeprofile.ExecutionParty": { - "type": "string", - "enum": [ - "CompanyAsset", - "OwnerOperator", - "LeasedOn", - "PurchasedCapacity" - ], - "x-enum-varnames": [ - "ExecutionPartyCompanyAsset", - "ExecutionPartyOwnerOperator", - "ExecutionPartyLeasedOn", - "ExecutionPartyPurchasedCapacity" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_modeprofile.ProfileCandidate": { - "type": "object", - "properties": { - "matchedOn": { - "type": "array", - "items": { - "type": "string" - } - }, - "priority": { - "type": "integer" - }, - "profileCode": { - "type": "string" - }, - "profileId": { - "type": "string" - }, - "profileName": { - "type": "string" - }, - "rejectionReason": { - "type": "string" - }, - "selected": { - "type": "boolean" - }, - "specificityScore": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_modeprofile.Provenance": { - "type": "object", - "properties": { - "capability": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.Capability" - }, - "capabilityLabel": { - "type": "string" - }, - "defaultEnforcement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.EnforcementLevel" - }, - "enforcement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.EnforcementLevel" - }, - "isOrgDefault": { - "type": "boolean" - }, - "matchedOn": { - "type": "array", - "items": { - "type": "string" - } - }, - "overridden": { - "type": "boolean" - }, - "overrideReason": { - "type": "string" - }, - "priority": { - "type": "integer" - }, - "profileCode": { - "type": "string" - }, - "profileId": { - "type": "string" - }, - "profileName": { - "type": "string" - }, - "rationale": { - "type": "string" - }, - "ruleKey": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.RuleKey" - }, - "specificityScore": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_modeprofile.ResolvedPolicy": { - "type": "object", - "properties": { - "candidates": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.ProfileCandidate" - } - }, - "capabilities": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.Capability" - } - }, - "equipmentClass": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.EquipmentClass" - }, - "executionParty": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.ExecutionParty" - }, - "profileCode": { - "type": "string" - }, - "profileId": { - "type": "string" - }, - "profileName": { - "type": "string" - }, - "resolvedAt": { - "type": "integer" - }, - "rules": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.ResolvedRule" - } - }, - "serviceModel": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.ServiceModel" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_modeprofile.ResolvedRule": { - "type": "object", - "properties": { - "capability": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.Capability" - }, - "enabled": { - "type": "boolean" - }, - "enforcement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.EnforcementLevel" - }, - "fields": { - "description": "Fields the rule targets, for explaining why a field behaves as it does.\nNot the same as the fields it makes mandatory — see RequiredFields.", - "type": "array", - "items": { - "type": "string" - } - }, - "key": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.RuleKey" - }, - "label": { - "type": "string" - }, - "parameters": { - "type": "object", - "additionalProperties": {} - }, - "provenance": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.Provenance" - }, - "requiredFields": { - "description": "Fields this rule makes mandatory under its resolved parameters. Narrower\nthan the definition's list where a parameter turns a requirement off.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_modeprofile.RuleKey": { - "type": "string", - "enum": [ - "hazmat.segregation", - "documentation.duplicateBol", - "dispatch.moveRemoval", - "cargo.maxShipmentWeight", - "cargo.temperatureRange", - "cargo.dimensionsRequired", - "cargo.envelopeExceedsEquipment", - "permit.requiredBeforeDispatch", - "permit.expiresBeforeDelivery", - "permit.escortsArranged", - "permit.leadTimeInsufficient", - "permit.curfewConflict" - ], - "x-enum-varnames": [ - "RuleKeyHazmatSegregation", - "RuleKeyDuplicateBOL", - "RuleKeyMoveRemoval", - "RuleKeyMaxShipmentWeight", - "RuleKeyTemperatureRange", - "RuleKeyDimensionsRequired", - "RuleKeyEnvelopeExceedsEquipment", - "RuleKeyPermitRequired", - "RuleKeyPermitExpiry", - "RuleKeyPermitEscorts", - "RuleKeyPermitLeadTime", - "RuleKeyPermitCurfewConflict" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_modeprofile.ServiceModel": { - "type": "string", - "enum": [ - "Truckload", - "Dedicated", - "LTL", - "Expedite", - "FinalMile", - "Drayage" - ], - "x-enum-varnames": [ - "ServiceModelTruckload", - "ServiceModelDedicated", - "ServiceModelLTL", - "ServiceModelExpedite", - "ServiceModelFinalMile", - "ServiceModelDrayage" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_notification.PushSubscription": { - "type": "object", - "properties": { - "auth": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "endpoint": { - "type": "string" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "p256dh": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "userAgent": { - "type": "string" - }, - "userId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_order.Order": { - "type": "object", - "properties": { - "baseAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "bol": { - "type": "string" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "charges": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_order.OrderCharge" - } - }, - "createdAt": { - "type": "integer" - }, - "currencyCode": { - "type": "string" - }, - "customer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "customerId": { - "type": "string" - }, - "enteredBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "enteredById": { - "type": "string" - }, - "id": { - "type": "string" - }, - "orderNumber": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "owner": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "ownerId": { - "type": "string" - }, - "poNumber": { - "type": "string" - }, - "quotedAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "shipments": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_order.Status" - }, - "totalAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_order.OrderCharge": { - "type": "object", - "properties": { - "allocations": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocation" - } - }, - "amount": { - "type": "number" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "invoiceId": { - "type": "string" - }, - "invoicedAt": { - "type": "integer" - }, - "order": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_order.Order" - }, - "orderId": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_order.Status": { - "type": "string", - "enum": [ - "Draft", - "Confirmed", - "InProgress", - "Completed", - "Billed", - "Closed", - "Canceled" - ], - "x-enum-varnames": [ - "StatusDraft", - "StatusConfirmed", - "StatusInProgress", - "StatusCompleted", - "StatusBilled", - "StatusClosed", - "StatusCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_pagefavorite.PageFavorite": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "pageTitle": { - "type": "string" - }, - "pageUrl": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "user": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "userId": { - "type": "string" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_permission.CoreResponsibility": { - "type": "string", - "enum": [ - "Billing", - "Operations", - "Finance", - "Leadership" - ], - "x-enum-varnames": [ - "CoreResponsibilityBilling", - "CoreResponsibilityOperations", - "CoreResponsibilityFinance", - "CoreResponsibilityLeadership" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_permission.DataScope": { - "type": "string", - "enum": [ - "own", - "team", - "organization", - "business_unit", - "all" - ], - "x-enum-varnames": [ - "DataScopeOwn", - "DataScopeTeam", - "DataScopeOrganization", - "DataScopeBusinessUnit", - "DataScopeAll" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_permission.FieldSensitivity": { - "type": "string", - "enum": [ - "public", - "internal", - "restricted", - "confidential" - ], - "x-enum-varnames": [ - "SensitivityPublic", - "SensitivityInternal", - "SensitivityRestricted", - "SensitivityConfidential" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_permission.Operation": { - "type": "string", - "enum": [ - "read", - "create", - "update", - "delete", - "export", - "import", - "approve", - "reject", - "assign", - "unassign", - "archive", - "restore", - "submit", - "cancel", - "duplicate", - "close", - "lock", - "unlock", - "activate", - "reopen", - "pin", - "unpin", - "resolve", - "manage" - ], - "x-enum-varnames": [ - "OpRead", - "OpCreate", - "OpUpdate", - "OpDelete", - "OpExport", - "OpImport", - "OpApprove", - "OpReject", - "OpAssign", - "OpUnassign", - "OpArchive", - "OpRestore", - "OpSubmit", - "OpCancel", - "OpDuplicate", - "OpClose", - "OpLock", - "OpUnlock", - "OpActivate", - "OpReopen", - "OpPin", - "OpUnpin", - "OpResolve", - "OpManage" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_permission.OperationDefinition": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "operation": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Operation" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_permission.ResourceDefinition": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "compositeOps": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Operation" - } - } - }, - "defaultSensitivity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.FieldSensitivity" - }, - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "fieldSensitivities": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.FieldSensitivity" - } - }, - "operations": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.OperationDefinition" - } - }, - "parentResource": { - "type": "string" - }, - "resource": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_permission.ResourcePermission": { - "type": "object", - "properties": { - "createdAt": { - "type": "integer" - }, - "dataScope": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.DataScope" - }, - "id": { - "type": "string" - }, - "operations": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Operation" - } - }, - "resource": { - "type": "string" - }, - "roleId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_permission.Role": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "coreResponsibility": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.CoreResponsibility" - }, - "createdAt": { - "type": "integer" - }, - "createdBy": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isSystem": { - "type": "boolean" - }, - "maxSensitivity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.FieldSensitivity" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "parentRoleIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.ResourcePermission" - } - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_permission.UserRoleAssignment": { - "type": "object", - "properties": { - "assignedAt": { - "type": "integer" - }, - "assignedBy": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "role": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Role" - }, - "roleId": { - "type": "string" - }, - "userId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_permit.Permit": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "cost": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "createdAt": { - "type": "integer" - }, - "expiresAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "issuedAt": { - "type": "integer" - }, - "notes": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "permitNumber": { - "type": "string" - }, - "shipmentId": { - "type": "string" - }, - "state": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "stateId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_permit.Requirement": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "derivedAt": { - "type": "integer" - }, - "escorts": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.EscortRequirement" - } - }, - "estimatedFee": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "exceedances": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.Exceedance" - } - }, - "id": { - "type": "string" - }, - "isSuperload": { - "type": "boolean" - }, - "leadTimeDays": { - "type": "integer" - }, - "organizationId": { - "type": "string" - }, - "provenance": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.RuleProvenance" - }, - "restrictions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.RestrictionKind" - } - }, - "routeSequence": { - "type": "integer" - }, - "satisfiedByPermit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Permit" - }, - "satisfiedByPermitId": { - "type": "string" - }, - "shipmentId": { - "type": "string" - }, - "state": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "stateId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.RequirementStatus" - }, - "updatedAt": { - "type": "integer" - }, - "validityDays": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "waivedById": { - "type": "string" - }, - "waiverReason": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_permit.RequirementStatus": { - "type": "string", - "enum": [ - "Open", - "Satisfied", - "Superseded", - "Waived" - ], - "x-enum-varnames": [ - "RequirementOpen", - "RequirementSatisfied", - "RequirementSuperseded", - "RequirementWaived" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_permit.RuleProvenance": { - "type": "object", - "properties": { - "maxHeightFeet": { - "type": "number" - }, - "maxLengthFeet": { - "type": "number" - }, - "maxWeightPounds": { - "type": "integer" - }, - "maxWidthFeet": { - "type": "number" - }, - "overriddenFields": { - "type": "array", - "items": { - "type": "string" - } - }, - "overrideReason": { - "type": "string" - }, - "ruleId": { - "type": "string" - }, - "sourceNote": { - "type": "string" - }, - "sourceUrl": { - "type": "string" - }, - "stateCode": { - "type": "string" - }, - "stateName": { - "type": "string" - }, - "verificationState": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.VerificationState" - }, - "verifiedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_permit.Status": { - "type": "string", - "enum": [ - "Pending", - "Active", - "Expired", - "Void" - ], - "x-enum-varnames": [ - "StatusPending", - "StatusActive", - "StatusExpired", - "StatusVoid" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.AccessorialTermSnapshot": { - "type": "object", - "properties": { - "amount": { - "type": "number" - }, - "appliesFrom": { - "type": "integer" - }, - "appliesTo": { - "type": "integer" - }, - "applyCondition": { - "type": "string" - }, - "autoApply": { - "type": "boolean" - }, - "formulaTemplateId": { - "type": "string" - }, - "freeUnits": { - "type": "integer" - }, - "maxAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.Method" - }, - "rateUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.RateUnit" - }, - "serviceTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "shipmentTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "waived": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.AgreementType": { - "type": "string", - "enum": [ - "Contract", - "Tariff", - "Spot", - "Project", - "Dedicated" - ], - "x-enum-varnames": [ - "AgreementTypeContract", - "AgreementTypeTariff", - "AgreementTypeSpot", - "AgreementTypeProject", - "AgreementTypeDedicated" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.Direction": { - "type": "string", - "enum": [ - "Directional", - "Bidirectional" - ], - "x-enum-varnames": [ - "DirectionDirectional", - "DirectionBidirectional" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.FreightClassSource": { - "type": "string", - "enum": [ - "Commodity", - "Density", - "Fixed" - ], - "x-enum-varnames": [ - "FreightClassSourceCommodity", - "FreightClassSourceDensity", - "FreightClassSourceFixed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.FuelTermSnapshot": { - "type": "object", - "properties": { - "capAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "fuelSurchargeProgramId": { - "type": "string" - }, - "incrementRateOverride": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "pegPriceOverride": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "waived": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.PartyType": { - "type": "string", - "enum": [ - "Customer", - "Carrier" - ], - "x-enum-varnames": [ - "PartyTypeCustomer", - "PartyTypeCarrier" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement": { - "type": "object", - "properties": { - "accessorials": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementAccessorial" - } - }, - "agreementType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.AgreementType" - }, - "approvedAt": { - "type": "integer" - }, - "approvedById": { - "type": "string" - }, - "autoRenew": { - "type": "boolean" - }, - "billToCustomerId": { - "description": "BillToCustomerID redirects invoicing on a customer agreement. It is only\nmeaningful on the sell side and a check constraint keeps it there.", - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "carrier": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - }, - "carrierId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "contractRef": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "currency": { - "type": "string" - }, - "currentVersionNumber": { - "type": "integer" - }, - "customer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "customerId": { - "type": "string" - }, - "defaultMaxCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "defaultMinCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "description": { - "type": "string" - }, - "documentId": { - "type": "string" - }, - "effectiveFrom": { - "type": "integer" - }, - "effectiveTo": { - "type": "integer" - }, - "fuelBinding": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementFuelBinding" - }, - "id": { - "type": "string" - }, - "marginFloorPercent": { - "description": "MarginFloorPercent and MaxPayPercentOfSell are the buy side guardrails a\nbrokerage sets against a carrier, and are likewise constrained to it.", - "allOf": [ - { - "$ref": "#/definitions/decimal.NullDecimal" - } - ] - }, - "maxPayPercentOfSell": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "partyType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.PartyType" - }, - "priority": { - "type": "integer" - }, - "renewalNoticeDays": { - "type": "integer" - }, - "reviewComment": { - "type": "string" - }, - "roundingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.RoundingMode" - }, - "roundingPrecision": { - "type": "integer" - }, - "rules": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementRule" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.Status" - }, - "submittedAt": { - "type": "integer" - }, - "submittedById": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "versions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementVersion" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementAccessorial": { - "type": "object", - "properties": { - "accessorialCharge": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - }, - "accessorialChargeId": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "applyCondition": { - "description": "ApplyCondition is an expression evaluated against the shipment, in the\nsame language and against the same schema the formula editor already\nexposes — \"totalStops \u003e 2\", say. Blank means always.", - "type": "string" - }, - "autoApply": { - "description": "AutoApply adds the charge to every shipment the agreement prices, subject\nto ApplyCondition. Left off, the accessorial is merely priced, and a user\nstill has to add it.", - "type": "boolean" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "effectiveFrom": { - "type": "integer" - }, - "effectiveTo": { - "type": "integer" - }, - "formulaTemplateId": { - "type": "string" - }, - "freeUnits": { - "description": "FreeUnits are granted before the charge starts counting, which is how\ndetention and storage allowances are written.", - "type": "integer" - }, - "id": { - "type": "string" - }, - "maxAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.Method" - }, - "organizationId": { - "type": "string" - }, - "rateAgreementId": { - "type": "string" - }, - "rateUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.RateUnit" - }, - "serviceTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "shipmentTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "waived": { - "description": "Waived prices the accessorial at nothing for this contract. It is a\ndistinct state from an amount of zero, because a waiver has to survive a\nlater change to the organization's default price.", - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementFuelBinding": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "capAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "createdAt": { - "type": "integer" - }, - "fuelSurchargeProgramId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "incrementRateOverride": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "organizationId": { - "type": "string" - }, - "pegPriceOverride": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "program": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fuelsurcharge.FuelSurchargeProgram" - }, - "rateAgreementId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "waived": { - "description": "Waived suppresses fuel entirely for this contract. All-in rates are\ncommon enough that this needs to be a stated term rather than an omission\nsomebody has to notice.", - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementRule": { - "type": "object", - "properties": { - "absoluteMinCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "allowDeficitRating": { - "type": "boolean" - }, - "breaks": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementRuleBreak" - } - }, - "businessUnitId": { - "type": "string" - }, - "commodityIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "createdAt": { - "type": "integer" - }, - "currency": { - "type": "string" - }, - "daysOfWeek": { - "description": "DaysOfWeek is a bitmask with Sunday at bit zero. Zero means every day.", - "type": "integer" - }, - "densityScaleId": { - "type": "string" - }, - "destinationCity": { - "type": "string" - }, - "destinationLatitude": { - "type": "number" - }, - "destinationLongitude": { - "type": "number" - }, - "destinationRadiusMeters": { - "type": "number" - }, - "destinationScopeType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rategeo.ScopeType" - }, - "destinationScopeValue": { - "type": "string" - }, - "direction": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.Direction" - }, - "discountPercent": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "effectiveFrom": { - "type": "integer" - }, - "effectiveTo": { - "type": "integer" - }, - "equipmentClasses": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.EquipmentClass" - } - }, - "fixedFreightClass": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.FreightClass" - }, - "formulaTemplateId": { - "description": "A rule prices through exactly one of these two: a formula template, with\nthe rule's own rate bound as the template's base rate, or a rate\nmatrix, whose cells carry the rates and whose own template says what they\nmean.", - "type": "string" - }, - "freightClassSource": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.FreightClassSource" - }, - "freightClasses": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.FreightClass" - } - }, - "hazmatOnly": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "laneKey": { - "description": "LaneKey is the origin and destination keys joined. A rule stores one; a\nshipment produces the handful it could have stored. That turns lane\nmatching into a set membership test the database answers from an index.", - "type": "string" - }, - "maxCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "maxDistance": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "maxStops": { - "type": "integer" - }, - "maxWeight": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "minBillableDistance": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "minCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "minDistance": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "minStops": { - "type": "integer" - }, - "minWeight": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "organizationId": { - "type": "string" - }, - "originCity": { - "type": "string" - }, - "originLatitude": { - "type": "number" - }, - "originLongitude": { - "type": "number" - }, - "originRadiusMeters": { - "type": "number" - }, - "originScopeType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rategeo.ScopeType" - }, - "originScopeValue": { - "type": "string" - }, - "partyId": { - "type": "string" - }, - "partyType": { - "description": "PartyType and PartyID duplicate the agreement's own values so the\nresolution index can narrow to one customer or carrier before it even\nlooks at the lane. Without them a lane key probe would return every\norganization's rules for that lane and leave the join to discard the ones\nbelonging to other parties, which is the difference between reading a\nhandful of rows and reading thousands. Both are stamped from the parent\nand are never the caller's to supply.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.PartyType" - } - ] - }, - "priority": { - "type": "integer" - }, - "rate": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "rateAgreementId": { - "type": "string" - }, - "rateMatrix": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrix" - }, - "rateMatrixId": { - "type": "string" - }, - "roundingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.RoundingMode" - }, - "serviceModels": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.ServiceModel" - } - }, - "serviceTypeIds": { - "description": "An empty applicability set means the rule does not care about that\ndimension. This is the same convention detention policies and fuel\nsurcharge programs already use, so a rule that names nothing matches\neverything rather than nothing.", - "type": "array", - "items": { - "type": "string" - } - }, - "shipmentTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "sourceImportRowId": { - "type": "string" - }, - "specificityScore": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RuleStatus" - }, - "supersedesRuleId": { - "type": "string" - }, - "tempControlOnly": { - "type": "boolean" - }, - "tractorTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "trailerTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementRuleBreak": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "fromWeight": { - "type": "number" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "minCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "organizationId": { - "type": "string" - }, - "rate": { - "type": "number" - }, - "rateAgreementRuleId": { - "type": "string" - }, - "sortOrder": { - "type": "integer" - }, - "toWeight": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementVersion": { - "type": "object", - "properties": { - "accessorialNames": { - "description": "Read-time only: accessorial charge id → code, resolved by the repository\nfor every id the snapshot and change summary mention. Never persisted.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "accessorialTerms": { - "description": "The negotiated accessorial schedule keyed by accessorial charge id.\nStored as ids only — names are patched on at read time into\nAccessorialNames, so a later rename of the charge cannot rewrite what\nthe contract said.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.AccessorialTermSnapshot" - } - }, - "agreementEffectiveFrom": { - "description": "The agreement's own window, distinct from EffectiveFrom/EffectiveTo above,\nwhich say when this *version* of the terms governed. Moving the contract's\ndates is a renegotiation like any other and diffs under these names.", - "type": "integer" - }, - "agreementEffectiveTo": { - "type": "integer" - }, - "agreementType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.AgreementType" - }, - "autoRenew": { - "type": "boolean" - }, - "billToCustomerId": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "carrierId": { - "type": "string" - }, - "changeMessage": { - "type": "string" - }, - "changeSummary": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/jsonutils.FieldChange" - } - }, - "code": { - "type": "string" - }, - "contractRef": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "createdBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "createdById": { - "type": "string" - }, - "currency": { - "type": "string" - }, - "customerId": { - "type": "string" - }, - "defaultMaxCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "defaultMinCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "description": { - "type": "string" - }, - "documentId": { - "type": "string" - }, - "effectiveFrom": { - "type": "integer" - }, - "effectiveTo": { - "type": "integer" - }, - "fuelTerms": { - "description": "The fuel binding's negotiated terms as they stood.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.FuelTermSnapshot" - } - ] - }, - "id": { - "type": "string" - }, - "marginFloorPercent": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "maxPayPercentOfSell": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "partyType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.PartyType" - }, - "priority": { - "type": "integer" - }, - "rateAgreementId": { - "type": "string" - }, - "renewalNoticeDays": { - "type": "integer" - }, - "roundingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.RoundingMode" - }, - "roundingPrecision": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.Status" - }, - "versionNumber": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.RuleStatus": { - "type": "string", - "enum": [ - "Active", - "Inactive" - ], - "x-enum-varnames": [ - "RuleStatusActive", - "RuleStatusInactive" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rateagreement.Status": { - "type": "string", - "enum": [ - "Draft", - "InReview", - "Active", - "Suspended", - "Expired", - "Archived" - ], - "x-enum-varnames": [ - "StatusDraft", - "StatusInReview", - "StatusActive", - "StatusSuspended", - "StatusExpired", - "StatusArchived" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rateconfirmation.RateConfirmation": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "carrier": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - }, - "carrierAssignment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierAssignment" - }, - "carrierAssignmentId": { - "type": "string" - }, - "carrierId": { - "type": "string" - }, - "confirmedAt": { - "type": "integer" - }, - "confirmedByName": { - "type": "string" - }, - "confirmedByTitle": { - "type": "string" - }, - "confirmedVia": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateconfirmation.Via" - }, - "createdAt": { - "type": "integer" - }, - "documentId": { - "type": "string" - }, - "generatedById": { - "type": "string" - }, - "generatedVia": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateconfirmation.Via" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "payloadSnapshot": { - "type": "object", - "additionalProperties": {} - }, - "revision": { - "type": "integer" - }, - "sentAt": { - "type": "integer" - }, - "sentToEmails": { - "type": "string" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "shipmentId": { - "type": "string" - }, - "shipmentMoveId": { - "type": "string" - }, - "sourceTenderOfferId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateconfirmation.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "voidReason": { - "type": "string" - }, - "voidedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateconfirmation.Status": { - "type": "string", - "enum": [ - "Generated", - "Sent", - "Confirmed", - "Voided" - ], - "x-enum-varnames": [ - "StatusGenerated", - "StatusSent", - "StatusConfirmed", - "StatusVoided" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rateconfirmation.Via": { - "type": "string", - "enum": [ - "Dispatcher", - "TenderAcceptance", - "PublicSignature" - ], - "x-enum-varnames": [ - "ViaDispatcher", - "ViaTenderAcceptance", - "ViaPublicSignature" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rategeo.ScopeType": { - "type": "string", - "enum": [ - "Any", - "Country", - "State", - "Zone", - "Radius", - "CityState", - "Zip3", - "Zip5", - "Location" - ], - "x-enum-varnames": [ - "ScopeTypeAny", - "ScopeTypeCountry", - "ScopeTypeState", - "ScopeTypeZone", - "ScopeTypeRadius", - "ScopeTypeCityState", - "ScopeTypeZip3", - "ScopeTypeZip5", - "ScopeTypeLocation" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rateimport.RateImportBatch": { - "type": "object", - "properties": { - "agreement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - }, - "businessUnitId": { - "type": "string" - }, - "changes": { - "description": "Changes is the dry run: what committing this sheet would do to each lane.", - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_rateimport.Change" - } - }, - "committedAt": { - "type": "integer" - }, - "committedBy": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "effectiveFrom": { - "description": "EffectiveFrom is the day the imported rules start pricing. It is the\ncaller's decision rather than the sheet's: a tariff is negotiated to take\neffect on a date, and the day somebody happened to upload it is not it.", - "type": "integer" - }, - "error": { - "type": "string" - }, - "errorCount": { - "type": "integer" - }, - "fileName": { - "type": "string" - }, - "id": { - "type": "string" - }, - "mapping": { - "description": "Mapping is which column supplied which field. It is stored so a committed\nimport can explain itself, and so the next sheet from the same source can\nstart from what worked last time.", - "type": "object", - "additionalProperties": { - "type": "integer" - } - }, - "organizationId": { - "type": "string" - }, - "rateAgreementId": { - "type": "string" - }, - "rowCount": { - "type": "integer" - }, - "rows": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateimport.RateImportRow" - } - }, - "sourceFormat": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateimport.SourceFormat" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateimport.Status" - }, - "summary": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_rateimport.Summary" - }, - "unmappedHeaders": { - "description": "UnmappedHeaders are the columns nothing was read from. They are kept\nbecause a column silently ignored is how a sheet imports looking complete\nwhile a discount nobody noticed never made it in.", - "type": "array", - "items": { - "type": "string" - } - }, - "updatedAt": { - "type": "integer" - }, - "uploadedById": { - "type": "string" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateimport.RateImportRow": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "cells": { - "type": "array", - "items": { - "type": "string" - } - }, - "createdAt": { - "type": "integer" - }, - "error": { - "type": "string" - }, - "id": { - "type": "string" - }, - "laneKey": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "rateImportBatchId": { - "type": "string" - }, - "rowNumber": { - "description": "RowNumber is the line in the uploaded file, counting the header as one,\nso it matches what somebody sees in their spreadsheet.", - "type": "integer" - }, - "rule": { - "description": "Rule is what the row parsed to, absent when it could not be read.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementRule" - } - ] - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_rateimport.SourceFormat": { - "type": "string", - "enum": [ - "CSV", - "XLSX" - ], - "x-enum-varnames": [ - "SourceFormatCSV", - "SourceFormatXLSX" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_rateimport.Status": { - "type": "string", - "enum": [ - "Pending", - "Parsed", - "Committed", - "Failed", - "Discarded" - ], - "x-enum-varnames": [ - "StatusPending", - "StatusParsed", - "StatusCommitted", - "StatusFailed", - "StatusDiscarded" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_ratematrix.DensityScale": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "effectiveFrom": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "isOrgDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "tiers": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.DensityScaleTier" - } - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratematrix.DensityScaleTier": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "freightClass": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.FreightClass" - }, - "fromPcf": { - "type": "number" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "rateDensityScaleId": { - "type": "string" - }, - "sortOrder": { - "type": "integer" - }, - "toPcf": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratematrix.DimensionKind": { - "type": "string", - "enum": [ - "Zone", - "Zip3", - "Zip5", - "State", - "Country", - "WeightBreak", - "Distance", - "PieceCount", - "LinearFeet", - "FreightClass", - "EquipmentType", - "ServiceType", - "Custom", - "Quantity" - ], - "x-enum-varnames": [ - "DimensionKindZone", - "DimensionKindZip3", - "DimensionKindZip5", - "DimensionKindState", - "DimensionKindCountry", - "DimensionKindWeightBreak", - "DimensionKindDistance", - "DimensionKindPieceCount", - "DimensionKindLinearFeet", - "DimensionKindFreightClass", - "DimensionKindEquipmentType", - "DimensionKindServiceType", - "DimensionKindCustom", - "DimensionKindQuantity" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_ratematrix.KeyNormalization": { - "type": "string", - "enum": [ - "None", - "Trim", - "Upper", - "Zip3" - ], - "x-enum-varnames": [ - "KeyNormalizationNone", - "KeyNormalizationTrim", - "KeyNormalizationUpper", - "KeyNormalizationZip3" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_ratematrix.MatchMode": { - "type": "string", - "enum": [ - "Exact", - "Range" - ], - "x-enum-varnames": [ - "MatchModeExact", - "MatchModeRange" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_ratematrix.RangeOverflow": { - "type": "string", - "enum": [ - "Error", - "ClampToTopBand", - "Nearest" - ], - "x-enum-varnames": [ - "RangeOverflowError", - "RangeOverflowClampToTopBand", - "RangeOverflowNearest" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrix": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "currency": { - "type": "string" - }, - "description": { - "type": "string" - }, - "dimensions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrixDimension" - } - }, - "formulaTemplate": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - }, - "formulaTemplateId": { - "description": "FormulaTemplateID says what a cell's number means. The template prices the\nshipment with the matched cell's value bound as its base rate, so the same\ngrid is a per-mile tariff or a flat table depending on which template the\nmatrix names.", - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "roundingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.RoundingMode" - }, - "roundingPrecision": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrixCell": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "d0Key": { - "type": "string" - }, - "d0Max": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "d0Min": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "d1Key": { - "type": "string" - }, - "d1Max": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "d1Min": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "d2Key": { - "type": "string" - }, - "d2Max": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "d2Min": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "d3Key": { - "type": "string" - }, - "d3Max": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "d3Min": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "deficitEligible": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "minCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "organizationId": { - "type": "string" - }, - "rateMatrixId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "value": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrixDimension": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "keyNormalization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.KeyNormalization" - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.DimensionKind" - }, - "label": { - "type": "string" - }, - "matchMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.MatchMode" - }, - "organizationId": { - "type": "string" - }, - "position": { - "type": "integer" - }, - "rangeOverflow": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RangeOverflow" - }, - "rateMatrixId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratequote.Outcome": { - "type": "string", - "enum": [ - "Rated", - "FormulaFallback", - "ManualOverride", - "NoRateFound", - "Error" - ], - "x-enum-varnames": [ - "OutcomeRated", - "OutcomeFormulaFallback", - "OutcomeManualOverride", - "OutcomeNoRateFound", - "OutcomeError" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_ratequote.Purpose": { - "type": "string", - "enum": [ - "Rating", - "Quote", - "Shopping", - "Simulation", - "WhatIf" - ], - "x-enum-varnames": [ - "PurposeRating", - "PurposeQuote", - "PurposeShopping", - "PurposeSimulation", - "PurposeWhatIf" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_ratequote.RateQuote": { - "type": "object", - "properties": { - "accessorialAmount": { - "type": "number" - }, - "agreement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - }, - "agreementVersionNumber": { - "type": "integer" - }, - "asOf": { - "description": "AsOf is the date the rating was performed against, which is not the same\nas when it ran: a shipment picked up last week rates on last week's\ncontract terms however long the invoice takes to produce.", - "type": "integer" - }, - "billingAmount": { - "type": "number" - }, - "billingCurrency": { - "description": "The billing amounts are the same money in the organization's own\ncurrency. Both are stored, along with the rate used, so the quote stays\nreproducible after the market has moved.", - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "contextHash": { - "description": "ContextHash fingerprints the inputs. Two ratings with the same hash and\nthe same engine version must agree, which makes it both a cheap dedupe\nand the signal that separates \"the shipment changed\" from \"we changed how\nwe price\".", - "type": "string" - }, - "costAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "createdAt": { - "type": "integer" - }, - "currency": { - "type": "string" - }, - "engineVersion": { - "type": "string" - }, - "exchangeRateId": { - "type": "string" - }, - "foregoneAmount": { - "description": "ForegoneAmount is what the contract would have charged on a quote the\nuser overrode. It is the rate leakage report, kept on the row that caused\nit rather than recomputed later against terms that may have changed.", - "allOf": [ - { - "$ref": "#/definitions/decimal.NullDecimal" - } - ] - }, - "formulaTemplateId": { - "type": "string" - }, - "fuelAmount": { - "type": "number" - }, - "fxRate": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "id": { - "type": "string" - }, - "linehaulAmount": { - "type": "number" - }, - "marginAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "marginPercent": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "organizationId": { - "type": "string" - }, - "outcome": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.Outcome" - }, - "overrideReason": { - "type": "string" - }, - "partyId": { - "type": "string" - }, - "partyType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.PartyType" - }, - "purpose": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.Purpose" - }, - "rateAgreementId": { - "type": "string" - }, - "rateAgreementRuleId": { - "type": "string" - }, - "ratedAt": { - "type": "integer" - }, - "ratedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "ratedById": { - "type": "string" - }, - "shipmentId": { - "type": "string" - }, - "shipmentMoveId": { - "type": "string" - }, - "specificityScore": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.Status" - }, - "totalAmount": { - "type": "number" - }, - "trace": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.Trace" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratequote.Status": { - "type": "string", - "enum": [ - "Applied", - "Superseded", - "Quoted" - ], - "x-enum-varnames": [ - "StatusApplied", - "StatusSuperseded", - "StatusQuoted" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_ratesimulation.RateSimulation": { - "type": "object", - "properties": { - "agreement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - }, - "businessUnitId": { - "type": "string" - }, - "completedAt": { - "type": "integer" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "error": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "partyType": { - "description": "PartyType says which side is being simulated. A carrier contract replay\nanswers \"what would this cost us\", which is the same machinery pointed\nthe other way.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.PartyType" - } - ] - }, - "rateAgreementId": { - "description": "RateAgreementID is the contract being replayed. It is usually a draft:\nthe point is to see what it would do before anybody signs it.", - "type": "string" - }, - "requestedBy": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratesimulation.RateSimulationResult" - } - }, - "ruleCoverage": { - "description": "RuleCoverage says what happened to each of the agreement's rules. It is\nthe half of the answer the revenue total cannot give: which lanes never\nfired, and which fired but always lost.", - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratesimulation.RuleCoverage" - } - }, - "sampleFrom": { - "description": "SampleFrom and SampleTo bound the shipments replayed, by their own ship\ndates. Half open, matching every other window in the rating system: a\nshipment on SampleTo belongs to the next period.", - "type": "integer" - }, - "sampleLimit": { - "description": "SampleLimit caps how many shipments are replayed. Zero means every\nshipment in the window.", - "type": "integer" - }, - "sampleTo": { - "type": "integer" - }, - "startedAt": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratesimulation.Status" - }, - "summary": { - "description": "Summary is what the run came to, written once at the end.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratesimulation.Summary" - } - ] - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "workflowId": { - "description": "WorkflowID is the Temporal run driving this simulation, so a stuck run can\nbe found and cancelled.", - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratesimulation.RateSimulationResult": { - "type": "object", - "properties": { - "afterAmount": { - "type": "number" - }, - "afterRuleId": { - "type": "string" - }, - "beforeAmount": { - "description": "BeforeAmount is what the shipment was actually billed. AfterAmount is\nwhat the simulated agreement would have charged.", - "type": "number" - }, - "beforeRuleId": { - "description": "BeforeRuleID and AfterRuleID name the rules that priced each side, which\nis what turns \"this went up\" into \"this went up because this lane now\nwins\".", - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "customerId": { - "description": "CustomerID and LaneKey are copied onto the row so the result grid can be\ngrouped without joining back to shipments that may since have been\nedited. A simulation is a record of a moment.", - "type": "string" - }, - "delta": { - "type": "number" - }, - "deltaPercent": { - "type": "number" - }, - "equipmentTypeId": { - "description": "EquipmentTypeID is what the load ran on, which is the third dimension\npricing changes are usually judged by.", - "type": "string" - }, - "error": { - "type": "string" - }, - "id": { - "type": "string" - }, - "laneKey": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "outcome": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.Outcome" - }, - "proNumber": { - "type": "string" - }, - "rateSimulationId": { - "type": "string" - }, - "shipmentId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratesimulation.RuleCoverage": { - "type": "object", - "properties": { - "label": { - "type": "string" - }, - "laneKey": { - "type": "string" - }, - "lostCount": { - "type": "integer" - }, - "lostTo": { - "description": "LostTo names the rule that most often beat this one, which is the single\nmost useful thing to know about a lane that never wins.", - "type": "string" - }, - "lostToLabel": { - "type": "string" - }, - "outcome": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratesimulation.RuleOutcome" - }, - "ruleId": { - "type": "string" - }, - "wonCount": { - "description": "WonCount and LostCount are how many shipments this rule priced and how\nmany it matched but was outranked on.", - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratesimulation.RuleOutcome": { - "type": "string", - "enum": [ - "Won", - "Lost", - "NeverFired" - ], - "x-enum-varnames": [ - "RuleOutcomeWon", - "RuleOutcomeLost", - "RuleOutcomeNeverFired" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_ratesimulation.Status": { - "type": "string", - "enum": [ - "Pending", - "Running", - "Completed", - "Failed", - "Canceled" - ], - "x-enum-varnames": [ - "StatusPending", - "StatusRunning", - "StatusCompleted", - "StatusFailed", - "StatusCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_ratezone.RateZone": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratezone.ZoneKind" - }, - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratezone.RateZoneMember" - } - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratezone.RateZoneMember": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "city": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "matchKey": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "rateZoneId": { - "type": "string" - }, - "scopeType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rategeo.ScopeType" - }, - "scopeValue": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_ratezone.ZoneKind": { - "type": "string", - "enum": [ - "Custom", - "KMA", - "Regional", - "Metro", - "Country" - ], - "x-enum-varnames": [ - "ZoneKindCustom", - "ZoneKindKMA", - "ZoneKindRegional", - "ZoneKindMetro", - "ZoneKindCountry" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_recurringshipment.ExceptionPolicy": { - "type": "string", - "enum": [ - "Skip", - "PreviousBusinessDay", - "NextBusinessDay" - ], - "x-enum-varnames": [ - "ExceptionPolicySkip", - "ExceptionPolicyPreviousBusinessDay", - "ExceptionPolicyNextBusinessDay" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment": { - "type": "object", - "properties": { - "autoGenerate": { - "type": "boolean" - }, - "blackoutDates": { - "type": "array", - "items": { - "type": "string" - } - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "consecutiveFailures": { - "type": "integer" - }, - "createdAt": { - "type": "integer" - }, - "cronExpression": { - "type": "string" - }, - "customer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "customerId": { - "type": "string" - }, - "description": { - "type": "string" - }, - "destinationLocation": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - }, - "destinationLocationId": { - "type": "string" - }, - "endDate": { - "type": "integer" - }, - "enteredBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "enteredById": { - "type": "string" - }, - "exceptionPolicy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.ExceptionPolicy" - }, - "generationCount": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "lastGeneratedShipmentId": { - "type": "string" - }, - "lastOccurrenceAt": { - "type": "integer" - }, - "lastRunAt": { - "type": "integer" - }, - "leadTimeDays": { - "type": "integer" - }, - "maxOccurrences": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "nextOccurrenceAt": { - "type": "integer" - }, - "nextOccurrenceSourceAt": { - "type": "integer" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "originLocation": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - }, - "originLocationId": { - "type": "string" - }, - "skipWeekends": { - "type": "boolean" - }, - "sourceShipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "sourceShipmentId": { - "type": "string" - }, - "startDate": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.Status" - }, - "timezone": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipmentRun": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "detail": { - "type": "string" - }, - "generatedShipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "generatedShipmentId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "occurrenceAt": { - "type": "integer" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "originalOccurrenceAt": { - "type": "integer" - }, - "recurringShipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - }, - "recurringShipmentId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RunStatus" - }, - "trigger": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RunTrigger" - }, - "triggeredBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "triggeredById": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_recurringshipment.RunStatus": { - "type": "string", - "enum": [ - "Generated", - "Skipped", - "Failed" - ], - "x-enum-varnames": [ - "RunStatusGenerated", - "RunStatusSkipped", - "RunStatusFailed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_recurringshipment.RunTrigger": { - "type": "string", - "enum": [ - "Auto", - "Manual" - ], - "x-enum-varnames": [ - "RunTriggerAuto", - "RunTriggerManual" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_recurringshipment.Status": { - "type": "string", - "enum": [ - "Active", - "Paused", - "Expired" - ], - "x-enum-varnames": [ - "StatusActive", - "StatusPaused", - "StatusExpired" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType": { - "type": "object", - "properties": { - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "color": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.AdditionalCharge": { - "type": "object", - "properties": { - "accessorialCharge": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - }, - "accessorialChargeId": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "fuelSurchargeDetail": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.FuelSurchargeDetail" - }, - "fuelSurchargeProgramId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isDetention": { - "type": "boolean" - }, - "isSystemGenerated": { - "type": "boolean" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.Method" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "rateAgreementAccessorialId": { - "description": "RateAgreementAccessorialID marks a charge the contract's own accessorial\nschedule produced, and is what its reconciliation pass matches on.", - "type": "string" - }, - "rateQuoteId": { - "type": "string" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "shipmentId": { - "type": "string" - }, - "unit": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.Assignment": { - "type": "object", - "properties": { - "ackAt": { - "type": "integer" - }, - "ackReason": { - "type": "string" - }, - "ackStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.AssignmentAck" - }, - "archivedAt": { - "type": "integer" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "primaryWorker": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - }, - "primaryWorkerId": { - "type": "string" - }, - "secondaryWorker": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - }, - "secondaryWorkerId": { - "type": "string" - }, - "shipmentMove": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove" - }, - "shipmentMoveId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.AssignmentStatus" - }, - "tractor": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - }, - "tractorId": { - "type": "string" - }, - "trailer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - }, - "trailerId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.AssignmentAck": { - "type": "string", - "enum": [ - "Pending", - "Accepted", - "Declined" - ], - "x-enum-varnames": [ - "AssignmentAckPending", - "AssignmentAckAccepted", - "AssignmentAckDeclined" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.AssignmentStatus": { - "type": "string", - "enum": [ - "New", - "InProgress", - "Completed", - "Canceled" - ], - "x-enum-varnames": [ - "AssignmentStatusNew", - "AssignmentStatusInProgress", - "AssignmentStatusCompleted", - "AssignmentStatusCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.BillingTransferStatus": { - "type": "string", - "enum": [ - "", - "ReadyForReview", - "InReview", - "OnHold", - "Exception", - "SentBackToOps", - "Approved", - "Posted", - "Canceled" - ], - "x-enum-varnames": [ - "BillingTransferNone", - "BillingTransferReadyForReview", - "BillingTransferInReview", - "BillingTransferOnHold", - "BillingTransferException", - "BillingTransferSentBackToOps", - "BillingTransferApproved", - "BillingTransferPosted", - "BillingTransferCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.CarrierAssignment": { - "type": "object", - "properties": { - "accessorialTotal": { - "type": "number" - }, - "accessorials": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierAssignmentAccessorial" - } - }, - "assignedById": { - "type": "string" - }, - "baseAmount": { - "type": "number" - }, - "baseRate": { - "type": "number" - }, - "businessUnitId": { - "type": "string" - }, - "canceledAt": { - "type": "integer" - }, - "cancellationReason": { - "type": "string" - }, - "carrier": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - }, - "carrierId": { - "type": "string" - }, - "confirmedAt": { - "type": "integer" - }, - "createdAt": { - "type": "integer" - }, - "currencyCode": { - "type": "string" - }, - "externalDriverName": { - "type": "string" - }, - "externalDriverPhone": { - "type": "string" - }, - "externalTractorNumber": { - "type": "string" - }, - "externalTrailerNumber": { - "type": "string" - }, - "fuelSurcharge": { - "type": "number" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "proNumber": { - "type": "string" - }, - "rateMethod": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierRateMethod" - }, - "rateQuoteId": { - "description": "RateQuoteID names the buy side quote that decided what this carrier is\npaid. Absent when somebody typed the rate, which stays the ordinary case\nuntil an organization writes carrier contracts.", - "type": "string" - }, - "shipmentMove": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove" - }, - "shipmentMoveId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierAssignmentStatus" - }, - "totalCost": { - "type": "number" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.CarrierAssignmentAccessorial": { - "type": "object", - "properties": { - "accessorialCharge": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - }, - "accessorialChargeId": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "businessUnitId": { - "type": "string" - }, - "carrierAssignment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierAssignment" - }, - "carrierAssignmentId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.CarrierAssignmentStatus": { - "type": "string", - "enum": [ - "Pending", - "Confirmed", - "Canceled" - ], - "x-enum-varnames": [ - "CarrierAssignmentStatusPending", - "CarrierAssignmentStatusConfirmed", - "CarrierAssignmentStatusCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.CarrierRateMethod": { - "type": "string", - "enum": [ - "Flat", - "PerMile" - ], - "x-enum-varnames": [ - "CarrierRateMethodFlat", - "CarrierRateMethodPerMile" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocation": { - "type": "object", - "properties": { - "additionalChargeId": { - "type": "string" - }, - "additionalChargeIndex": { - "description": "AdditionalChargeIndex points at a charge in the same payload that has no\nid yet, so a new charge and its split can arrive in one save.", - "type": "integer" - }, - "amount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "billToCustomer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "billToCustomerId": { - "type": "string" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "chargeKind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocationKind" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "invoiceId": { - "type": "string" - }, - "invoicedAt": { - "type": "integer" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocationMethod" - }, - "orderChargeId": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "percent": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "sequence": { - "type": "integer" - }, - "shipmentId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocationKind": { - "type": "string", - "enum": [ - "Freight", - "Accessorial", - "OrderCharge" - ], - "x-enum-varnames": [ - "ChargeAllocationKindFreight", - "ChargeAllocationKindAccessorial", - "ChargeAllocationKindOrderCharge" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocationMethod": { - "type": "string", - "enum": [ - "Percent", - "Amount" - ], - "x-enum-varnames": [ - "ChargeAllocationMethodPercent", - "ChargeAllocationMethodAmount" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.CommentAttachment": { - "type": "object", - "properties": { - "createdAt": { - "type": "integer" - }, - "documentId": { - "type": "string" - }, - "downloadUrl": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "fileSize": { - "type": "integer" - }, - "mimeType": { - "type": "string" - }, - "originalName": { - "type": "string" - }, - "previewUrl": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.CommentPriority": { - "type": "string", - "enum": [ - "Low", - "Normal", - "High", - "Urgent" - ], - "x-enum-varnames": [ - "CommentPriorityLow", - "CommentPriorityNormal", - "CommentPriorityHigh", - "CommentPriorityUrgent" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.CommentSource": { - "type": "string", - "enum": [ - "User", - "System", - "Integration", - "AI" - ], - "x-enum-varnames": [ - "CommentSourceUser", - "CommentSourceSystem", - "CommentSourceIntegration", - "CommentSourceAI" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.CommentType": { - "type": "string", - "enum": [ - "Internal", - "Dispatch", - "DriverUpdate", - "PickupInstruction", - "DeliveryInstruction", - "StatusUpdate", - "Exception", - "CustomerUpdate", - "Appointment", - "Document", - "Billing", - "Compliance" - ], - "x-enum-varnames": [ - "CommentTypeInternal", - "CommentTypeDispatch", - "CommentTypeDriverUpdate", - "CommentTypePickupInstruction", - "CommentTypeDeliveryInstruction", - "CommentTypeStatusUpdate", - "CommentTypeException", - "CommentTypeCustomerUpdate", - "CommentTypeAppointment", - "CommentTypeDocument", - "CommentTypeBilling", - "CommentTypeCompliance" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.CommentVisibility": { - "type": "string", - "enum": [ - "Internal", - "Operations", - "Customer", - "Driver", - "Accounting" - ], - "x-enum-varnames": [ - "CommentVisibilityInternal", - "CommentVisibilityOperations", - "CommentVisibilityCustomer", - "CommentVisibilityDriver", - "CommentVisibilityAccounting" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.EntryMethod": { - "type": "string", - "enum": [ - "Manual", - "EDI" - ], - "x-enum-varnames": [ - "EntryMethodManual", - "EntryMethodEDI" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.FreightTerms": { - "type": "string", - "enum": [ - "Prepaid", - "Collect", - "ThirdParty" - ], - "x-enum-varnames": [ - "FreightTermsPrepaid", - "FreightTermsCollect", - "FreightTermsThirdParty" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.FuelSurchargeDetail": { - "type": "object", - "properties": { - "accessorialBase": { - "type": "number" - }, - "agreementId": { - "description": "AgreementID names the contract whose fuel binding selected this program,\nand TermsOverridden says whether that contract also changed the program's\npeg, increment or cap. Together they answer the question a fuel dispute\nalways opens with: whose numbers are these?", - "type": "string" - }, - "amount": { - "type": "number" - }, - "bandMax": { - "type": "number" - }, - "bandMin": { - "type": "number" - }, - "bandValue": { - "type": "number" - }, - "basisDate": { - "type": "string" - }, - "calculatedAt": { - "type": "integer" - }, - "capApplied": { - "type": "boolean" - }, - "currency": { - "type": "string" - }, - "dateBasis": { - "type": "string" - }, - "eiaSeriesId": { - "type": "string" - }, - "floorApplied": { - "type": "boolean" - }, - "increment": { - "type": "number" - }, - "incrementRate": { - "type": "number" - }, - "indexCode": { - "type": "string" - }, - "indexFuelType": { - "type": "string" - }, - "indexId": { - "type": "string" - }, - "indexRegion": { - "type": "string" - }, - "indexSource": { - "type": "string" - }, - "linehaulBase": { - "type": "number" - }, - "method": { - "type": "string" - }, - "miles": { - "type": "number" - }, - "milesPerGallon": { - "type": "number" - }, - "pegPrice": { - "type": "number" - }, - "percent": { - "type": "number" - }, - "percentBasis": { - "type": "string" - }, - "price": { - "type": "number" - }, - "priceDate": { - "type": "string" - }, - "programCode": { - "type": "string" - }, - "programId": { - "type": "string" - }, - "programName": { - "type": "string" - }, - "ratePerMile": { - "type": "number" - }, - "ratePrecision": { - "type": "integer" - }, - "rateRounding": { - "type": "string" - }, - "rawAmount": { - "type": "number" - }, - "stale": { - "type": "boolean" - }, - "stepRounding": { - "type": "string" - }, - "termsOverridden": { - "type": "boolean" - }, - "usedFallback": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.HoldSource": { - "type": "string", - "enum": [ - "User", - "Rule", - "API", - "ELD", - "EDI" - ], - "x-enum-varnames": [ - "HoldSourceUser", - "HoldSourceRule", - "HoldSourceAPI", - "HoldSourceELD", - "HoldSourceEDI" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.JurisdictionMileSource": { - "type": "string", - "enum": [ - "RouteCalculation", - "Manual" - ], - "x-enum-varnames": [ - "JurisdictionMileSourceRouteCalculation", - "JurisdictionMileSourceManual" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.MoveCoverageType": { - "type": "string", - "enum": [ - "unassigned", - "driver", - "carrier" - ], - "x-enum-varnames": [ - "MoveCoverageTypeUnassigned", - "MoveCoverageTypeDriver", - "MoveCoverageTypeCarrier" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.MoveStatus": { - "type": "string", - "enum": [ - "New", - "Assigned", - "InTransit", - "Completed", - "Canceled" - ], - "x-enum-varnames": [ - "MoveStatusNew", - "MoveStatusAssigned", - "MoveStatusInTransit", - "MoveStatusCompleted", - "MoveStatusCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.RatingBreakdownItem": { - "type": "object", - "properties": { - "amount": { - "type": "number" - }, - "error": { - "type": "string" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.RatingDetail": { - "type": "object", - "properties": { - "agreementId": { - "type": "string" - }, - "agreementName": { - "type": "string" - }, - "breakdown": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.RatingBreakdownItem" - } - }, - "explanation": { - "type": "string" - }, - "expression": { - "type": "string" - }, - "formulaTemplateId": { - "type": "string" - }, - "formulaTemplateName": { - "type": "string" - }, - "guardrail": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.RatingGuardrail" - }, - "rateQuoteId": { - "type": "string" - }, - "ratedAt": { - "type": "integer" - }, - "receipt": { - "description": "Receipt is the formula's calculation receipt when a formula priced the\nload: variables with their sources, rate-table rows consulted, and the\namount before guardrails and rounding.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.Receipt" - } - ] - }, - "resolvedVariables": { - "type": "object", - "additionalProperties": {} - }, - "result": { - "type": "number" - }, - "ruleId": { - "type": "string" - }, - "ruleLabel": { - "type": "string" - }, - "source": { - "type": "string" - }, - "versionNumber": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.RatingGuardrail": { - "type": "object", - "properties": { - "applied": { - "type": "boolean" - }, - "bound": { - "type": "string" - }, - "maxCharge": { - "type": "number" - }, - "minCharge": { - "type": "number" - }, - "rawResult": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.Shipment": { - "type": "object", - "properties": { - "actualDeliveryDate": { - "type": "integer" - }, - "actualShipDate": { - "type": "integer" - }, - "additionalCharges": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.AdditionalCharge" - } - }, - "autoRated": { - "type": "boolean" - }, - "autoRatedAt": { - "type": "integer" - }, - "baseRate": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "billToCustomer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "billToCustomerId": { - "type": "string" - }, - "billedAt": { - "type": "integer" - }, - "billingTransferStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.BillingTransferStatus" - }, - "bol": { - "type": "string" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "cancelReason": { - "type": "string" - }, - "canceledAt": { - "type": "integer" - }, - "canceledBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "canceledById": { - "type": "string" - }, - "chargeAllocations": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocation" - } - }, - "comments": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentComment" - } - }, - "commodities": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentCommodity" - } - }, - "consolidationGroupId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "customer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - }, - "customerId": { - "type": "string" - }, - "enteredBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "enteredById": { - "type": "string" - }, - "entryMethod": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.EntryMethod" - }, - "envelopeHeightFeet": { - "type": "number" - }, - "envelopeLengthFeet": { - "type": "number" - }, - "envelopeOverallHeightFeet": { - "type": "number" - }, - "envelopeWidthFeet": { - "type": "number" - }, - "formulaTemplate": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - }, - "formulaTemplateId": { - "type": "string" - }, - "freightChargeAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "freightTerms": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.FreightTerms" - }, - "fuelSurchargeLocked": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "markedReadyToBillAt": { - "type": "integer" - }, - "moves": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove" - } - }, - "orderId": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "otherChargeAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "owner": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "ownerId": { - "type": "string" - }, - "pieces": { - "type": "integer" - }, - "proNumber": { - "type": "string" - }, - "rateAgreementId": { - "type": "string" - }, - "rateAgreementRuleId": { - "type": "string" - }, - "rateLocked": { - "type": "boolean" - }, - "rateOverrideAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "rateOverrideAt": { - "type": "integer" - }, - "rateOverrideById": { - "type": "string" - }, - "rateOverrideReason": { - "type": "string" - }, - "rateQuoteId": { - "type": "string" - }, - "ratingDetail": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.RatingDetail" - }, - "ratingUnit": { - "type": "integer" - }, - "serviceType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - }, - "serviceTypeId": { - "type": "string" - }, - "shipmentType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - }, - "shipmentTypeId": { - "type": "string" - }, - "sourceDocumentId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Status" - }, - "temperatureMax": { - "type": "integer" - }, - "temperatureMin": { - "type": "integer" - }, - "tenderStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.TenderStatus" - }, - "totalChargeAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "tractorType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - }, - "tractorTypeId": { - "type": "string" - }, - "trailerType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - }, - "trailerTypeId": { - "type": "string" - }, - "transferredToBillingAt": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "weight": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentComment": { - "type": "object", - "properties": { - "acknowledgments": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentCommentAcknowledgment" - } - }, - "attachmentDocumentIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "attachments": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CommentAttachment" - } - }, - "body": { - "type": "object", - "additionalProperties": {} - }, - "businessUnitId": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "deletedAt": { - "type": "integer" - }, - "deletedById": { - "type": "string" - }, - "editedAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "mentionedUserIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "mentionedUsers": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentCommentMention" - } - }, - "metadata": { - "type": "object", - "additionalProperties": {} - }, - "organizationId": { - "type": "string" - }, - "parentCommentId": { - "type": "string" - }, - "pinnedAt": { - "type": "integer" - }, - "pinnedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "pinnedById": { - "type": "string" - }, - "priority": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CommentPriority" - }, - "replyCount": { - "type": "integer" - }, - "requiresAcknowledgment": { - "type": "boolean" - }, - "resolvedAt": { - "type": "integer" - }, - "resolvedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "resolvedById": { - "type": "string" - }, - "shipmentId": { - "type": "string" - }, - "source": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CommentSource" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CommentType" - }, - "updatedAt": { - "type": "integer" - }, - "user": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "userId": { - "type": "string" - }, - "version": { - "type": "integer" - }, - "visibility": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CommentVisibility" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentCommentAcknowledgment": { - "type": "object", - "properties": { - "acknowledgedAt": { - "type": "integer" - }, - "businessUnitId": { - "type": "string" - }, - "commentId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "shipmentId": { - "type": "string" - }, - "user": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "userId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentCommentMention": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "commentId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "mentionedUser": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "mentionedUserId": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "shipmentId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentCommodity": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "commodity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - }, - "commodityId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "heightFeet": { - "type": "number" - }, - "id": { - "type": "string" - }, - "lengthFeet": { - "type": "number" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "pieces": { - "type": "integer" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "shipmentId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "weight": { - "type": "integer" - }, - "widthFeet": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentHold": { - "type": "object", - "properties": { - "blocksBilling": { - "type": "boolean" - }, - "blocksDelivery": { - "type": "boolean" - }, - "blocksDispatch": { - "type": "boolean" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "createdBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "createdById": { - "type": "string" - }, - "holdReason": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason" - }, - "holdReasonId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "notes": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "reasonCode": { - "type": "string" - }, - "releasedAt": { - "type": "integer" - }, - "releasedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "releasedById": { - "type": "string" - }, - "severity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldSeverity" - }, - "shipmentId": { - "type": "string" - }, - "source": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.HoldSource" - }, - "startedAt": { - "type": "integer" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldType" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "visibleToCustomer": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove": { - "type": "object", - "properties": { - "assignment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Assignment" - }, - "businessUnitId": { - "type": "string" - }, - "carrierAssignment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierAssignment" - }, - "coverageType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.MoveCoverageType" - }, - "createdAt": { - "type": "integer" - }, - "distance": { - "type": "number" - }, - "distanceCalculatedAt": { - "type": "integer" - }, - "distanceDataVersion": { - "type": "string" - }, - "distanceMetadata": { - "type": "object", - "additionalProperties": {} - }, - "distanceProvider": { - "type": "string" - }, - "distanceRouteSignature": { - "type": "string" - }, - "distanceRoutingType": { - "type": "string" - }, - "distanceSource": { - "type": "string" - }, - "distanceUnits": { - "type": "string" - }, - "id": { - "type": "string" - }, - "jurisdictionMiles": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMoveJurisdictionMile" - } - }, - "loaded": { - "description": "Loaded is false for a deadhead move. Deadhead miles are not recorded as\nloaded.", - "type": "boolean" - }, - "organizationId": { - "type": "string" - }, - "sequence": { - "type": "integer" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "shipmentId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.MoveStatus" - }, - "stops": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Stop" - } - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMoveJurisdictionMile": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "calculatedAt": { - "type": "integer" - }, - "countryCode": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "dataVersion": { - "type": "string" - }, - "distance": { - "type": "number" - }, - "distanceProfileId": { - "type": "string" - }, - "distanceUnits": { - "type": "string" - }, - "ferryDistance": { - "type": "number" - }, - "id": { - "type": "string" - }, - "jurisdictionCode": { - "type": "string" - }, - "loaded": { - "type": "boolean" - }, - "organizationId": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "sequence": { - "type": "integer" - }, - "shipmentId": { - "type": "string" - }, - "shipmentMoveId": { - "type": "string" - }, - "source": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.JurisdictionMileSource" - }, - "tollDistance": { - "type": "number" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.Status": { - "type": "string", - "enum": [ - "New", - "PartiallyAssigned", - "Assigned", - "InTransit", - "Delayed", - "PartiallyCompleted", - "ReadyToInvoice", - "Completed", - "Invoiced", - "Canceled" - ], - "x-enum-varnames": [ - "StatusNew", - "StatusPartiallyAssigned", - "StatusAssigned", - "StatusInTransit", - "StatusDelayed", - "StatusPartiallyCompleted", - "StatusReadyToInvoice", - "StatusCompleted", - "StatusInvoiced", - "StatusCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.Stop": { - "type": "object", - "properties": { - "actualArrival": { - "type": "integer" - }, - "actualDeparture": { - "type": "integer" - }, - "addressLine": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "countDetentionOverride": { - "type": "boolean" - }, - "countLateOverride": { - "type": "boolean" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "location": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - }, - "locationId": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "pieces": { - "type": "integer" - }, - "scheduleType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.StopScheduleType" - }, - "scheduledWindowEnd": { - "type": "integer" - }, - "scheduledWindowStart": { - "type": "integer" - }, - "sequence": { - "type": "integer" - }, - "shipmentMoveId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.StopStatus" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.StopType" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "weight": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.StopScheduleType": { - "type": "string", - "enum": [ - "Open", - "Appointment" - ], - "x-enum-varnames": [ - "StopScheduleTypeOpen", - "StopScheduleTypeAppointment" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.StopStatus": { - "type": "string", - "enum": [ - "New", - "InTransit", - "Completed", - "Canceled" - ], - "x-enum-varnames": [ - "StopStatusNew", - "StopStatusInTransit", - "StopStatusCompleted", - "StopStatusCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.StopType": { - "type": "string", - "enum": [ - "Pickup", - "Delivery", - "SplitDelivery", - "SplitPickup" - ], - "x-enum-varnames": [ - "StopTypePickup", - "StopTypeDelivery", - "StopTypeSplitDelivery", - "StopTypeSplitPickup" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipment.TenderStatus": { - "type": "string", - "enum": [ - "Tendered", - "Accepted", - "Rejected", - "Expired", - "Canceled" - ], - "x-enum-varnames": [ - "TenderStatusTendered", - "TenderStatusAccepted", - "TenderStatusRejected", - "TenderStatusExpired", - "TenderStatusCanceled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipmentevent.ActorType": { - "type": "string", - "enum": [ - "user", - "apikey", - "system", - "edi" - ], - "x-enum-varnames": [ - "ActorUser", - "ActorAPIKey", - "ActorSystem", - "ActorEDI" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipmentevent.Event": { - "type": "object", - "properties": { - "actor": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "actorId": { - "type": "string" - }, - "actorLabel": { - "type": "string" - }, - "actorType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmentevent.ActorType" - }, - "assignmentId": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "commentId": { - "type": "string" - }, - "correlationId": { - "type": "string" - }, - "holdId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "metadata": { - "type": "object", - "additionalProperties": {} - }, - "moveId": { - "type": "string" - }, - "occurredAt": { - "type": "integer" - }, - "organizationId": { - "type": "string" - }, - "severity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmentevent.Severity" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "shipmentId": { - "type": "string" - }, - "stopId": { - "type": "string" - }, - "summary": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmentevent.Type" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_shipmentevent.Severity": { - "type": "string", - "enum": [ - "danger", - "success", - "brand", - "info", - "muted" - ], - "x-enum-varnames": [ - "SeverityDanger", - "SeveritySuccess", - "SeverityBrand", - "SeverityInfo", - "SeverityMuted" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipmentevent.Type": { - "type": "string", - "enum": [ - "ShipmentCreated", - "ShipmentUpdated", - "StatusChanged", - "ShipmentCanceled", - "ShipmentUncanceled", - "OwnershipTransferred", - "MoveStatusChanged", - "MoveDeparted", - "MoveArrived", - "StopCompleted", - "DriverAssigned", - "DriverReassigned", - "DriverUnassigned", - "CarrierAssigned", - "CarrierUnassigned", - "TenderOffered", - "TenderAccepted", - "TenderDeclined", - "TenderExpired", - "TenderWithdrawn", - "TenderNeedsReview", - "RoutingGuideExhausted", - "TenderLateResponse", - "TenderDeliveryFailed", - "TenderEntrySkipped", - "TenderEntryWarned", - "HoldPlaced", - "HoldUpdated", - "HoldReleased", - "CommentPosted" - ], - "x-enum-varnames": [ - "TypeShipmentCreated", - "TypeShipmentUpdated", - "TypeStatusChanged", - "TypeShipmentCanceled", - "TypeShipmentUncanceled", - "TypeOwnershipTransferred", - "TypeMoveStatusChanged", - "TypeMoveDeparted", - "TypeMoveArrived", - "TypeStopCompleted", - "TypeDriverAssigned", - "TypeDriverReassigned", - "TypeDriverUnassigned", - "TypeCarrierAssigned", - "TypeCarrierUnassigned", - "TypeTenderOffered", - "TypeTenderAccepted", - "TypeTenderDeclined", - "TypeTenderExpired", - "TypeTenderWithdrawn", - "TypeTenderNeedsReview", - "TypeRoutingGuideExhausted", - "TypeTenderLateResponse", - "TypeTenderDeliveryFailed", - "TypeTenderEntrySkipped", - "TypeTenderEntryWarned", - "TypeHoldPlaced", - "TypeHoldUpdated", - "TypeHoldReleased", - "TypeCommentPosted" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType": { - "type": "object", - "properties": { - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "color": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_system.TerminateDatabaseSessionResult": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "pid": { - "type": "integer" - }, - "terminated": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.AccountingBasisType": { - "type": "string", - "enum": [ - "Accrual", - "Cash" - ], - "x-enum-varnames": [ - "AccountingBasisAccrual", - "AccountingBasisCash" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.AccountingControl": { - "type": "object", - "properties": { - "accountingBasis": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.AccountingBasisType" - }, - "autoPostSourceEvents": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.JournalSourceEventType" - } - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "closedPeriodPostingPolicy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ClosedPeriodPostingPolicy" - }, - "createdAt": { - "type": "integer" - }, - "currencyMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.CurrencyModeType" - }, - "defaultApAccountId": { - "type": "string" - }, - "defaultArAccountId": { - "type": "string" - }, - "defaultCashAccountId": { - "type": "string" - }, - "defaultDriverAdvanceAccountId": { - "type": "string" - }, - "defaultDriverPayExpenseAccountId": { - "type": "string" - }, - "defaultDriverReimbursementAccountId": { - "type": "string" - }, - "defaultEscrowInterestExpenseAccountId": { - "type": "string" - }, - "defaultEscrowLiabilityAccountId": { - "type": "string" - }, - "defaultExpenseAccountId": { - "type": "string" - }, - "defaultPurchasedTransportationAccountId": { - "type": "string" - }, - "defaultRetainedEarningsAccountId": { - "type": "string" - }, - "defaultRevenueAccountId": { - "type": "string" - }, - "defaultSettlementsPayableAccountId": { - "type": "string" - }, - "defaultTaxLiabilityAccountId": { - "type": "string" - }, - "defaultUnappliedCashAccountId": { - "type": "string" - }, - "defaultWriteOffAccountId": { - "type": "string" - }, - "exchangeRateDatePolicy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ExchangeRateDatePolicy" - }, - "exchangeRateOverridePolicy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ExchangeRateOverrideType" - }, - "expenseRecognitionPolicy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ExpenseRecognitionPolicyType" - }, - "functionalCurrencyCode": { - "type": "string" - }, - "id": { - "type": "string" - }, - "journalPostingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.JournalPostingModeType" - }, - "journalReversalPolicy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.JournalReversalPolicyType" - }, - "lockedPeriodPostingPolicy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.LockedPeriodPostingPolicy" - }, - "manualJournalEntryPolicy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ManualJournalEntryPolicy" - }, - "notifyOnReconciliationException": { - "type": "boolean" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "periodCloseMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.PeriodCloseModeType" - }, - "realizedFxGainAccountId": { - "type": "string" - }, - "realizedFxLossAccountId": { - "type": "string" - }, - "reconciliationMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ReconciliationModeType" - }, - "reconciliationToleranceAmount": { - "type": "number" - }, - "requireManualJeApproval": { - "type": "boolean" - }, - "requirePeriodCloseApproval": { - "type": "boolean" - }, - "requireReconciliationToClose": { - "type": "boolean" - }, - "revenueRecognitionPolicy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.RevenueRecognitionPolicyType" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.BillingControl": { - "type": "object", - "properties": { - "autoInvoiceBatchSize": { - "type": "integer" - }, - "billingExceptionDisposition": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BillingExceptionDisposition" - }, - "billingQueueTransferBatchSize": { - "type": "integer" - }, - "billingQueueTransferMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BillingQueueTransferMode" - }, - "billingQueueTransferSchedule": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.TransferSchedule" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "defaultInvoiceFooter": { - "type": "string" - }, - "defaultInvoiceTerms": { - "type": "string" - }, - "defaultPaymentTerm": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.PaymentTerm" - }, - "enforceMarginFloor": { - "type": "boolean" - }, - "fallbackFormulaTemplateId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "invoiceDraftCreationMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.InvoiceDraftCreationMode" - }, - "invoicePostingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.InvoicePostingMode" - }, - "lateChargeAssessmentMode": { - "description": "LateChargeAssessmentMode says whether the nightly run previews or raises\nlate-charge debit memos; the rate and grace live on each customer.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.LateChargeAssessmentMode" - } - ] - }, - "lateChargeMinimumAmount": { - "description": "LateChargeMinimumAmount is the smallest total a run will bill a customer.", - "type": "number" - }, - "notifyOnAutoInvoiceCreation": { - "type": "boolean" - }, - "notifyOnBillingExceptions": { - "type": "boolean" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "rateValidationEnforcement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.EnforcementLevel" - }, - "rateVarianceAutoResolutionMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.RateVarianceAutoResolutionMode" - }, - "rateVarianceTolerancePercent": { - "type": "number" - }, - "readyToBillAssignmentMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ReadyToBillAssignmentMode" - }, - "requireRateOverrideReason": { - "type": "boolean" - }, - "shipmentBillingRequirementEnforcement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.EnforcementLevel" - }, - "showBalanceDueOnInvoice": { - "type": "boolean" - }, - "showDueDateOnInvoice": { - "type": "boolean" - }, - "unratedShipmentDisposition": { - "description": "UnratedShipmentDisposition decides what happens when no rate agreement\ncovers a shipment's lane. It defaults to falling back to the formula\ntemplate on the shipment, which is exactly how rating worked before\nagreements existed, so an organization that has not written a contract\nyet sees no change at all.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.UnratedShipmentDisposition" - } - ] - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.BillingExceptionDisposition": { - "type": "string", - "enum": [ - "RouteToBillingReview", - "ReturnToOperations" - ], - "x-enum-varnames": [ - "BillingExceptionDispositionRouteToBillingReview", - "BillingExceptionDispositionReturnToOperations" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.BillingQueueTransferMode": { - "type": "string", - "enum": [ - "ManualOnly", - "AutomaticWhenReady" - ], - "x-enum-varnames": [ - "BillingQueueTransferModeManualOnly", - "BillingQueueTransferModeAutomaticWhenReady" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.ClosedPeriodPostingPolicy": { - "type": "string", - "enum": [ - "RequireReopen", - "PostToNextOpen" - ], - "x-enum-varnames": [ - "ClosedPeriodPostingPolicyRequireReopen", - "ClosedPeriodPostingPolicyPostToNextOpen" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.CurrencyModeType": { - "type": "string", - "enum": [ - "SingleCurrency", - "MultiCurrency" - ], - "x-enum-varnames": [ - "CurrencyModeSingleCurrency", - "CurrencyModeMultiCurrency" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.EnforcementLevel": { - "type": "string", - "enum": [ - "Ignore", - "Warn", - "RequireReview", - "Block" - ], - "x-enum-varnames": [ - "EnforcementLevelIgnore", - "EnforcementLevelWarn", - "EnforcementLevelRequireReview", - "EnforcementLevelBlock" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.ExchangeRateDatePolicy": { - "type": "string", - "enum": [ - "DocumentDate", - "AccountingDate" - ], - "x-enum-varnames": [ - "ExchangeRateDatePolicyDocumentDate", - "ExchangeRateDatePolicyAccountingDate" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.ExchangeRateOverrideType": { - "type": "string", - "enum": [ - "Allow", - "RequireApproval", - "Disallow" - ], - "x-enum-varnames": [ - "ExchangeRateOverrideAllow", - "ExchangeRateOverrideRequireApproval", - "ExchangeRateOverrideDisallow" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.ExpenseRecognitionPolicyType": { - "type": "string", - "enum": [ - "OnVendorBillPost", - "OnCashDisbursement" - ], - "x-enum-varnames": [ - "ExpenseRecognitionOnVendorBillPost", - "ExpenseRecognitionOnCashDisbursement" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.InvoiceDraftCreationMode": { - "type": "string", - "enum": [ - "ManualOnly", - "AutomaticWhenTransferred" - ], - "x-enum-varnames": [ - "InvoiceDraftCreationModeManualOnly", - "InvoiceDraftCreationModeAutomaticWhenTransferred" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.InvoicePostingMode": { - "type": "string", - "enum": [ - "ManualReviewRequired", - "AutomaticWhenNoBlockingExceptions" - ], - "x-enum-varnames": [ - "InvoicePostingModeManualReviewRequired", - "InvoicePostingModeAutomaticWhenNoBlockingExceptions" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.JournalPostingModeType": { - "type": "string", - "enum": [ - "Manual", - "Automatic" - ], - "x-enum-varnames": [ - "JournalPostingModeManual", - "JournalPostingModeAutomatic" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.JournalReversalPolicyType": { - "type": "string", - "enum": [ - "Disallow", - "NextOpenPeriod" - ], - "x-enum-varnames": [ - "JournalReversalPolicyDisallow", - "JournalReversalPolicyNextOpenPeriod" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.JournalSourceEventType": { - "type": "string", - "enum": [ - "InvoicePosted", - "CreditMemoPosted", - "DebitMemoPosted", - "CustomerPaymentPosted", - "CustomerShortPayRecognized", - "CustomerPaymentReversed", - "VendorBillPosted", - "VendorPaymentPosted", - "DriverSettlementPosted", - "DriverSettlementVoided", - "EscrowInterestAccrued", - "CarrierSettlementPosted", - "CarrierSettlementVoided", - "CarrierSettlementPaid" - ], - "x-enum-varnames": [ - "JournalSourceEventInvoicePosted", - "JournalSourceEventCreditMemoPosted", - "JournalSourceEventDebitMemoPosted", - "JournalSourceEventCustomerPaymentPosted", - "JournalSourceEventCustomerShortPayRecognized", - "JournalSourceEventCustomerPaymentReversed", - "JournalSourceEventVendorBillPosted", - "JournalSourceEventVendorPaymentPosted", - "JournalSourceEventDriverSettlementPosted", - "JournalSourceEventDriverSettlementVoided", - "JournalSourceEventEscrowInterestAccrued", - "JournalSourceEventCarrierSettlementPosted", - "JournalSourceEventCarrierSettlementVoided", - "JournalSourceEventCarrierSettlementPaid" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.LateChargeAssessmentMode": { - "type": "string", - "enum": [ - "Disabled", - "Preview", - "Automatic" - ], - "x-enum-varnames": [ - "LateChargeAssessmentModeDisabled", - "LateChargeAssessmentModePreview", - "LateChargeAssessmentModeAutomatic" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.LocationCodeCasing": { - "type": "string", - "enum": [ - "upper", - "lower" - ], - "x-enum-varnames": [ - "LocationCodeCasingUpper", - "LocationCodeCasingLower" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.LocationCodeComponent": { - "type": "string", - "enum": [ - "name", - "city", - "state", - "postal_code" - ], - "x-enum-varnames": [ - "LocationCodeComponentName", - "LocationCodeComponentCity", - "LocationCodeComponentState", - "LocationCodeComponentPostalCode" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.LocationCodeStrategy": { - "type": "object", - "properties": { - "casing": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.LocationCodeCasing" - }, - "componentWidth": { - "type": "integer" - }, - "components": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.LocationCodeComponent" - } - }, - "fallbackPrefix": { - "type": "string" - }, - "separator": { - "type": "string" - }, - "sequenceDigits": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.LockedPeriodPostingPolicy": { - "type": "string", - "enum": [ - "BlockSubledgerAllowManualJe" - ], - "x-enum-varnames": [ - "LockedPeriodPostingPolicyBlockSubledgerAllowManualJe" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.ManualJournalEntryPolicy": { - "type": "string", - "enum": [ - "AllowAll", - "AdjustmentOnly", - "Disallow" - ], - "x-enum-varnames": [ - "ManualJournalEntryPolicyAllowAll", - "ManualJournalEntryPolicyAdjustmentOnly", - "ManualJournalEntryPolicyDisallow" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.Organization": { - "type": "object", - "properties": { - "addressLine1": { - "type": "string" - }, - "addressLine2": { - "type": "string" - }, - "assetOperationsEnabled": { - "type": "boolean" - }, - "brokerageEnabled": { - "type": "boolean" - }, - "bucketName": { - "type": "string" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "city": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "dotNumber": { - "type": "string" - }, - "id": { - "type": "string" - }, - "locale": { - "type": "string" - }, - "loginSlug": { - "type": "string" - }, - "logoUrl": { - "type": "string" - }, - "name": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "scacCode": { - "type": "string" - }, - "state": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - } - ] - }, - "stateId": { - "type": "string" - }, - "taxId": { - "type": "string" - }, - "timezone": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.OrganizationMembership": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "grantedBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "grantedByID": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "joinedAt": { - "type": "integer" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "positionId": { - "description": "PositionID is the title the user holds in this organisation. It sits on\nthe membership rather than the user because a position belongs to one\norganisation and the same person may hold different titles in two.", - "type": "string" - }, - "user": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - ] - }, - "userId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.PaymentTerm": { - "type": "string", - "enum": [ - "Net10", - "Net15", - "Net30", - "Net45", - "Net60", - "Net90", - "DueOnReceipt" - ], - "x-enum-varnames": [ - "PaymentTermNet10", - "PaymentTermNet15", - "PaymentTermNet30", - "PaymentTermNet45", - "PaymentTermNet60", - "PaymentTermNet90", - "PaymentTermDueOnReceipt" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.PeriodCloseModeType": { - "type": "string", - "enum": [ - "ManualOnly", - "SystemScheduled" - ], - "x-enum-varnames": [ - "PeriodCloseModeManualOnly", - "PeriodCloseModeSystemScheduled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.RateVarianceAutoResolutionMode": { - "type": "string", - "enum": [ - "Disabled", - "BypassReviewWithinTolerance" - ], - "x-enum-varnames": [ - "RateVarianceAutoResolutionModeDisabled", - "RateVarianceAutoResolutionModeBypassReviewWithinTolerance" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.ReadyToBillAssignmentMode": { - "type": "string", - "enum": [ - "ManualOnly", - "AutomaticWhenEligible" - ], - "x-enum-varnames": [ - "ReadyToBillAssignmentModeManualOnly", - "ReadyToBillAssignmentModeAutomaticWhenEligible" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.ReconciliationModeType": { - "type": "string", - "enum": [ - "Disabled", - "WarnOnly", - "BlockPosting" - ], - "x-enum-varnames": [ - "ReconciliationModeDisabled", - "ReconciliationModeWarnOnly", - "ReconciliationModeBlockPosting" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.RevenueRecognitionPolicyType": { - "type": "string", - "enum": [ - "OnInvoicePost", - "OnCashReceipt" - ], - "x-enum-varnames": [ - "RevenueRecognitionOnInvoicePost", - "RevenueRecognitionOnCashReceipt" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.SequenceConfig": { - "type": "object", - "properties": { - "allowCustomFormat": { - "type": "boolean" - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "customFormat": { - "type": "string" - }, - "id": { - "type": "string" - }, - "includeBusinessUnitCode": { - "type": "boolean" - }, - "includeCheckDigit": { - "type": "boolean" - }, - "includeDay": { - "type": "boolean" - }, - "includeLocationCode": { - "type": "boolean" - }, - "includeMonth": { - "type": "boolean" - }, - "includeRandomDigits": { - "type": "boolean" - }, - "includeWeekNumber": { - "type": "boolean" - }, - "includeYear": { - "type": "boolean" - }, - "locationCodeStrategy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.LocationCodeStrategy" - }, - "organizationId": { - "type": "string" - }, - "prefix": { - "type": "string" - }, - "randomDigitsCount": { - "type": "integer" - }, - "separatorChar": { - "type": "string" - }, - "sequenceDigits": { - "type": "integer" - }, - "sequenceType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.SequenceType" - }, - "updatedAt": { - "type": "integer" - }, - "useSeparators": { - "type": "boolean" - }, - "version": { - "type": "integer" - }, - "yearDigits": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.SequenceConfigDocument": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "configs": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.SequenceConfig" - } - }, - "organizationId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.SequenceType": { - "type": "string", - "enum": [ - "pro_number", - "consolidation", - "order", - "invoice", - "credit_memo", - "debit_memo", - "work_order", - "journal_batch", - "journal_entry", - "manual_journal_request", - "location_code", - "driver_settlement", - "carrier_settlement", - "invoice_run" - ], - "x-enum-varnames": [ - "SequenceTypeProNumber", - "SequenceTypeConsolidation", - "SequenceTypeOrder", - "SequenceTypeInvoice", - "SequenceTypeCreditMemo", - "SequenceTypeDebitMemo", - "SequenceTypeWorkOrder", - "SequenceTypeJournalBatch", - "SequenceTypeJournalEntry", - "SequenceTypeManualJournalRequest", - "SequenceTypeLocationCode", - "SequenceTypeDriverSettlement", - "SequenceTypeCarrierSettlement", - "SequenceTypeInvoiceRun" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.ShipmentControl": { - "type": "object", - "properties": { - "allowMoveRemovals": { - "type": "boolean" - }, - "autoCancelShipments": { - "type": "boolean" - }, - "autoCancelShipmentsThreshold": { - "description": "In days", - "type": "integer" - }, - "autoDelayShipments": { - "type": "boolean" - }, - "autoDelayShipmentsThreshold": { - "description": "In minutes", - "type": "integer" - }, - "autoGenerateDetentionCharges": { - "type": "boolean" - }, - "businessUnit": { - "description": "Relationships", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - } - ] - }, - "businessUnitId": { - "type": "string" - }, - "checkForDuplicateBols": { - "type": "boolean" - }, - "checkHazmatSegregation": { - "type": "boolean" - }, - "createdAt": { - "type": "integer" - }, - "defaultDetentionPolicyId": { - "type": "string" - }, - "detentionChargeId": { - "type": "string" - }, - "detentionThreshold": { - "description": "In minutes", - "type": "integer" - }, - "id": { - "type": "string" - }, - "maxShipmentWeightLimit": { - "type": "integer" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "trackCustomerRejections": { - "type": "boolean" - }, - "trackDetentionTime": { - "type": "boolean" - }, - "updatedAt": { - "type": "integer" - }, - "useDetentionPolicyEngine": { - "type": "boolean" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.TransferSchedule": { - "type": "string", - "enum": [ - "Continuous", - "Hourly", - "Daily", - "Weekly" - ], - "x-enum-varnames": [ - "TransferScheduleContinuous", - "TransferScheduleHourly", - "TransferScheduleDaily", - "TransferScheduleWeekly" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.UnratedShipmentDisposition": { - "type": "string", - "enum": [ - "FallbackFormulaTemplate", - "ZeroAndFlag", - "Block" - ], - "x-enum-varnames": [ - "UnratedShipmentDispositionFallbackFormulaTemplate", - "UnratedShipmentDispositionZeroAndFlag", - "UnratedShipmentDispositionBlock" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tenant.User": { - "type": "object", - "properties": { - "assignments": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.UserRoleAssignment" - } - }, - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "currentOrganizationId": { - "type": "string" - }, - "emailAddress": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isLocked": { - "type": "boolean" - }, - "lastLoginAt": { - "type": "integer" - }, - "locale": { - "type": "string" - }, - "memberships": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.OrganizationMembership" - } - }, - "mustChangePassword": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "profilePicUrl": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "thumbnailUrl": { - "type": "string" - }, - "timeFormat": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.TimeFormat" - }, - "timezone": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "username": { - "type": "string" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tender.Channel": { - "type": "string", - "enum": [ - "Email", - "EDI" - ], - "x-enum-varnames": [ - "ChannelEmail", - "ChannelEDI" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tender.Mode": { - "type": "string", - "enum": [ - "Waterfall", - "SpotBroadcast", - "SpotSequential" - ], - "x-enum-varnames": [ - "ModeWaterfall", - "ModeSpotBroadcast", - "ModeSpotSequential" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tender.OfferStatus": { - "type": "string", - "enum": [ - "Pending", - "Sent", - "Accepted", - "Declined", - "Expired", - "Withdrawn", - "Superseded", - "Skipped", - "DeliveryFailed" - ], - "x-enum-varnames": [ - "OfferStatusPending", - "OfferStatusSent", - "OfferStatusAccepted", - "OfferStatusDeclined", - "OfferStatusExpired", - "OfferStatusWithdrawn", - "OfferStatusSuperseded", - "OfferStatusSkipped", - "OfferStatusDeliveryFailed" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tender.ResponseAction": { - "type": "string", - "enum": [ - "Accept", - "Decline" - ], - "x-enum-varnames": [ - "ResponseActionAccept", - "ResponseActionDecline" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tender.ResponseSource": { - "type": "string", - "enum": [ - "Email", - "EDI", - "Manual" - ], - "x-enum-varnames": [ - "ResponseSourceEmail", - "ResponseSourceEDI", - "ResponseSourceManual" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "destinationCity": { - "type": "string" - }, - "destinationLocationId": { - "type": "string" - }, - "destinationState": { - "type": "string" - }, - "entries": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuideEntry" - } - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "originCity": { - "type": "string" - }, - "originLocationId": { - "type": "string" - }, - "originState": { - "type": "string" - }, - "specificity": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuideEntry": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "carrier": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - }, - "carrierId": { - "type": "string" - }, - "channel": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Channel" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "offerTtlSeconds": { - "type": "integer" - }, - "organizationId": { - "type": "string" - }, - "rank": { - "type": "integer" - }, - "rate": { - "type": "number" - }, - "rateMethod": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierRateMethod" - }, - "routingGuide": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide" - }, - "routingGuideId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "useContractRate": { - "description": "UseContractRate offers what the carrier's contract says today rather than\nthe rate frozen on this entry. A guide written a year ago carries the\nnumber somebody typed a year ago; a contract carries the one that was\nnegotiated. The rate above stays as the fallback for a lane no contract\ncovers.", - "type": "boolean" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tender.Status": { - "type": "string", - "enum": [ - "Active", - "Accepted", - "Exhausted", - "Canceled", - "NeedsReview" - ], - "x-enum-varnames": [ - "StatusActive", - "StatusAccepted", - "StatusExhausted", - "StatusCanceled", - "StatusNeedsReview" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_tender.Tender": { - "type": "object", - "properties": { - "acceptedAt": { - "type": "integer" - }, - "acceptedOfferId": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "canceledAt": { - "type": "integer" - }, - "canceledById": { - "type": "string" - }, - "cancellationReason": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "createdById": { - "type": "string" - }, - "currentRank": { - "type": "integer" - }, - "exhaustedAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "mode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Mode" - }, - "offers": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.TenderOffer" - } - }, - "organizationId": { - "type": "string" - }, - "routingGuide": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide" - }, - "routingGuideId": { - "type": "string" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "shipmentId": { - "type": "string" - }, - "shipmentMove": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove" - }, - "shipmentMoveId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "workflowId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tender.TenderOffer": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "carrier": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - }, - "carrierId": { - "type": "string" - }, - "channel": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Channel" - }, - "createdAt": { - "type": "integer" - }, - "declineReason": { - "type": "string" - }, - "deliveryError": { - "type": "string" - }, - "ediMessageId": { - "type": "string" - }, - "ediPartnerId": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "lateResponseAction": { - "type": "string" - }, - "lateResponseAt": { - "type": "integer" - }, - "offerTtlSeconds": { - "type": "integer" - }, - "organizationId": { - "type": "string" - }, - "rank": { - "type": "integer" - }, - "rate": { - "type": "number" - }, - "rateMethod": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierRateMethod" - }, - "recipientEmail": { - "type": "string" - }, - "respondedAt": { - "type": "integer" - }, - "responseSource": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.ResponseSource" - }, - "sentAt": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.OfferStatus" - }, - "tender": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Tender" - }, - "tenderId": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_tractor.Tractor": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "customFields": { - "type": "object", - "additionalProperties": {} - }, - "equipmentManufacturer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - }, - "equipmentManufacturerId": { - "type": "string" - }, - "equipmentType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - }, - "equipmentTypeId": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "fleetCode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - }, - "fleetCodeId": { - "type": "string" - }, - "fuelType": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.IFTAFuelType" - }, - "id": { - "type": "string" - }, - "iftaQualified": { - "type": "boolean" - }, - "lastKnownLocationId": { - "type": "string" - }, - "lastKnownLocationName": { - "type": "string" - }, - "leaseEndDate": { - "type": "integer" - }, - "leaseReference": { - "type": "string" - }, - "lessorName": { - "type": "string" - }, - "licensePlateNumber": { - "type": "string" - }, - "make": { - "type": "string" - }, - "model": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "ownerWorker": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - }, - "ownerWorkerId": { - "type": "string" - }, - "ownershipType": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.OwnershipType" - }, - "primaryWorker": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - }, - "primaryWorkerId": { - "type": "string" - }, - "registrationExpiry": { - "type": "integer" - }, - "registrationNumber": { - "type": "string" - }, - "secondaryWorker": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - }, - "secondaryWorkerId": { - "type": "string" - }, - "state": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "stateId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.EquipmentStatus" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "vin": { - "type": "string" - }, - "year": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_trailer.Trailer": { - "type": "object", - "properties": { - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "customFields": { - "type": "object", - "additionalProperties": {} - }, - "equipmentManufacturer": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - }, - "equipmentManufacturerId": { - "type": "string" - }, - "equipmentType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - }, - "equipmentTypeId": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "fleetCode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - }, - "fleetCodeId": { - "type": "string" - }, - "id": { - "type": "string" - }, - "lastInspectionDate": { - "type": "integer" - }, - "lastKnownLocationId": { - "type": "string" - }, - "lastKnownLocationName": { - "type": "string" - }, - "leaseEndDate": { - "type": "integer" - }, - "leaseReference": { - "type": "string" - }, - "lessorName": { - "type": "string" - }, - "licensePlateNumber": { - "type": "string" - }, - "make": { - "type": "string" - }, - "maxLoadWeight": { - "type": "integer" - }, - "model": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "ownerWorkerId": { - "type": "string" - }, - "ownershipType": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.OwnershipType" - }, - "registrationExpiry": { - "type": "integer" - }, - "registrationNumber": { - "type": "string" - }, - "registrationState": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "registrationStateId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.EquipmentStatus" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "vin": { - "type": "string" - }, - "year": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_usstate.UsState": { - "type": "object", - "properties": { - "abbreviation": { - "type": "string" - }, - "countryIso3": { - "type": "string" - }, - "countryName": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_worker.CDLClass": { - "type": "string", - "enum": [ - "A", - "B", - "C" - ], - "x-enum-varnames": [ - "CDLClassA", - "CDLClassB", - "CDLClassC" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.ComplianceStatus": { - "type": "string", - "enum": [ - "Compliant", - "NonCompliant", - "Pending" - ], - "x-enum-varnames": [ - "ComplianceStatusCompliant", - "ComplianceStatusNonCompliant", - "ComplianceStatusPending" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.DriverType": { - "type": "string", - "enum": [ - "Local", - "Regional", - "OTR", - "Team" - ], - "x-enum-varnames": [ - "DriverTypeLocal", - "DriverTypeRegional", - "DriverTypeOTR", - "DriverTypeTeam" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.DrugAlcoholStatus": { - "type": "string", - "enum": [ - "Unknown", - "Clear", - "Pending", - "Prohibited" - ], - "x-enum-varnames": [ - "DrugAlcoholUnknown", - "DrugAlcoholClear", - "DrugAlcoholPending", - "DrugAlcoholProhibited" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.EndorsementType": { - "type": "string", - "enum": [ - "O", - "N", - "H", - "X", - "P", - "T" - ], - "x-enum-varnames": [ - "EndorsementTypeNone", - "EndorsementTypeTanker", - "EndorsementTypeHazmat", - "EndorsementTypeTankerHazmat", - "EndorsementTypePassenger", - "EndorsementTypeDoubleTriple" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.Gender": { - "type": "string", - "enum": [ - "Male", - "Female" - ], - "x-enum-varnames": [ - "GenderMale", - "GenderFemale" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.JobDepartment": { - "type": "string", - "enum": [ - "Operations", - "Safety", - "Maintenance", - "Billing", - "Administration", - "Sales", - "HumanResources", - "Executive", - "Other" - ], - "x-enum-varnames": [ - "DepartmentOperations", - "DepartmentSafety", - "DepartmentMaintenance", - "DepartmentBilling", - "DepartmentAdministration", - "DepartmentSales", - "DepartmentHumanResources", - "DepartmentExecutive", - "DepartmentOther" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.JobPosition": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "code": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "department": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.JobDepartment" - }, - "description": { - "type": "string" - }, - "flsaExempt": { - "description": "FLSAExempt says the position is exempt from overtime. It lives on the\nposition because that is where the duties test is applied — two people\ndoing the same job are exempt or not together.", - "type": "boolean" - }, - "id": { - "type": "string" - }, - "isDrivingPosition": { - "description": "IsDrivingPosition separates the roster that needs a CDL from the one that\ndoes not, which is the line most compliance rules are drawn along.", - "type": "boolean" - }, - "organizationId": { - "type": "string" - }, - "reportsTo": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.JobPosition" - }, - "reportsToPositionId": { - "description": "ReportsToPositionID is the shape of the org chart. A person's own manager\nis on the worker, because two people in the same position can report to\ndifferent managers.", - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "title": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_worker.LeaveType": { - "type": "string", - "enum": [ - "FMLA", - "Medical", - "Military", - "Parental", - "Personal", - "Other" - ], - "x-enum-varnames": [ - "LeaveTypeFMLA", - "LeaveTypeMedical", - "LeaveTypeMilitary", - "LeaveTypeParental", - "LeaveTypePersonal", - "LeaveTypeOther" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.PTOStatus": { - "type": "string", - "enum": [ - "Requested", - "Approved", - "Rejected", - "Cancelled" - ], - "x-enum-varnames": [ - "PTOStatusRequested", - "PTOStatusApproved", - "PTOStatusRejected", - "PTOStatusCancelled" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.PTOType": { - "type": "string", - "enum": [ - "Personal", - "Vacation", - "Sick", - "Holiday", - "Bereavement", - "Maternity", - "Paternity" - ], - "x-enum-varnames": [ - "PTOTypePersonal", - "PTOTypeVacation", - "PTOTypeSick", - "PTOTypeHoliday", - "PTOTypeBereavement", - "PTOTypeMaternity", - "PTOTypePaternity" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.ReturnToDutyStatus": { - "type": "string", - "enum": [ - "NotRequired", - "SAPEvaluation", - "RTDTestRequired", - "FollowUpTesting", - "Complete" - ], - "x-enum-varnames": [ - "ReturnToDutyNotRequired", - "ReturnToDutySAPEvaluation", - "ReturnToDutyRTDTestRequired", - "ReturnToDutyFollowUpTesting", - "ReturnToDutyComplete" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.SafetyRating": { - "type": "string", - "enum": [ - "Excellent", - "Good", - "Watch", - "AtRisk" - ], - "x-enum-varnames": [ - "SafetyRatingExcellent", - "SafetyRatingGood", - "SafetyRatingWatch", - "SafetyRatingAtRisk" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.TrainingHealth": { - "type": "string", - "enum": [ - "Current", - "Scheduled", - "DueSoon", - "Overdue", - "ExpiringSoon", - "Expired", - "Failed", - "Missing" - ], - "x-enum-varnames": [ - "TrainingHealthCurrent", - "TrainingHealthScheduled", - "TrainingHealthDueSoon", - "TrainingHealthOverdue", - "TrainingHealthExpiringSoon", - "TrainingHealthExpired", - "TrainingHealthFailed", - "TrainingHealthMissing" - ] - }, - "github_com_emoss08_trenova_internal_core_domain_worker.Worker": { - "type": "object", - "properties": { - "addressLine1": { - "type": "string" - }, - "addressLine2": { - "type": "string" - }, - "assignmentBlocked": { - "type": "string" - }, - "availableForDispatch": { - "type": "boolean" - }, - "businessUnit": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BusinessUnit" - }, - "businessUnitId": { - "type": "string" - }, - "canBeAssigned": { - "type": "boolean" - }, - "city": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "customFields": { - "type": "object", - "additionalProperties": {} - }, - "driverType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.DriverType" - }, - "email": { - "type": "string" - }, - "emergencyContactName": { - "type": "string" - }, - "emergencyContactPhone": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "fleetCode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - }, - "fleetCodeId": { - "type": "string" - }, - "gender": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Gender" - }, - "id": { - "type": "string" - }, - "lastName": { - "type": "string" - }, - "leaveType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.LeaveType" - }, - "manager": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "managerId": { - "type": "string" - }, - "organization": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.Organization" - }, - "organizationId": { - "type": "string" - }, - "phoneNumber": { - "type": "string" - }, - "portalUser": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "position": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.JobPosition" - }, - "positionId": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "profile": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.WorkerProfile" - }, - "profilePicUrl": { - "type": "string" - }, - "pto": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.WorkerPTO" - } - }, - "state": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "stateId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.WorkerType" - }, - "updatedAt": { - "type": "integer" - }, - "userId": { - "type": "string" - }, - "version": { - "type": "integer" - }, - "wholeName": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_worker.WorkerPTO": { - "type": "object", - "properties": { - "approver": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "approverId": { - "type": "string" - }, - "autoApproved": { - "type": "boolean" - }, - "balanceAfterDays": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "businessUnitId": { - "type": "string" - }, - "cancellationReason": { - "type": "string" - }, - "cancelledBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "cancelledById": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "days": { - "type": "number" - }, - "endDate": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "rejectionReason": { - "type": "string" - }, - "rejector": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - }, - "rejectorId": { - "type": "string" - }, - "startDate": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.PTOStatus" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.PTOType" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "worker": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - }, - "workerId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_worker.WorkerProfile": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "cdlClass": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.CDLClass" - }, - "cdlRestrictions": { - "type": "string" - }, - "complianceStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.ComplianceStatus" - }, - "createdAt": { - "type": "integer" - }, - "disqualificationReason": { - "type": "string" - }, - "dob": { - "type": "integer" - }, - "drugAlcoholStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.DrugAlcoholStatus" - }, - "eldExempt": { - "type": "boolean" - }, - "endorsement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.EndorsementType" - }, - "hazmatExpiry": { - "type": "integer" - }, - "hireDate": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "isQualified": { - "type": "boolean" - }, - "lastClearinghouseQueryAt": { - "type": "integer" - }, - "lastComplianceCheck": { - "type": "integer" - }, - "lastDrugTest": { - "type": "integer" - }, - "lastMvrCheck": { - "type": "integer" - }, - "licenseExpiry": { - "type": "integer" - }, - "licenseNumber": { - "type": "string" - }, - "licenseState": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - }, - "licenseStateId": { - "type": "string" - }, - "medicalCardExpiry": { - "type": "integer" - }, - "medicalExaminerName": { - "type": "string" - }, - "medicalExaminerNpi": { - "type": "string" - }, - "mvrDueDate": { - "type": "integer" - }, - "nextClearinghouseQueryDue": { - "type": "integer" - }, - "nextCredentialExpiry": { - "type": "integer" - }, - "nextTrainingDue": { - "type": "integer" - }, - "organizationId": { - "type": "string" - }, - "physicalDueDate": { - "type": "integer" - }, - "returnToDutyStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.ReturnToDutyStatus" - }, - "safetyRating": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.SafetyRating" - }, - "safetyScore": { - "type": "integer" - }, - "shortHaulExempt": { - "type": "boolean" - }, - "terminationDate": { - "type": "integer" - }, - "trainingHealth": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.TrainingHealth" - }, - "twicCardNumber": { - "type": "string" - }, - "twicExpiry": { - "type": "integer" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "workerId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_domain_worker.WorkerType": { - "type": "string", - "enum": [ - "Employee", - "Contractor" - ], - "x-enum-varnames": [ - "WorkerTypeEmployee", - "WorkerTypeContractor" - ] - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.AssignMoveToCarrierRequest": { - "type": "object", - "properties": { - "accessorials": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.CarrierAccessorialInput" - } - }, - "autoRate": { - "description": "AutoRate asks the carrier's contract to price this assignment instead of\ntaking the rate from the request. A rate typed alongside it wins: that is\na negotiated number, and overruling it is what makes people switch\nauto-rating off.", - "type": "boolean" - }, - "baseRate": { - "type": "number" - }, - "carrierId": { - "type": "string" - }, - "externalDriverName": { - "type": "string" - }, - "externalDriverPhone": { - "type": "string" - }, - "externalTractorNumber": { - "type": "string" - }, - "externalTrailerNumber": { - "type": "string" - }, - "fuelSurcharge": { - "type": "number" - }, - "overrideInsuranceWarning": { - "type": "boolean" - }, - "overrideMarginFloor": { - "description": "OverrideMarginFloor lets somebody assign a carrier the contract's margin\nterms would otherwise refuse, the same escape the insurance warning has.", - "type": "boolean" - }, - "proNumber": { - "type": "string" - }, - "rateMethod": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierRateMethod" - }, - "replace": { - "type": "boolean" - }, - "shipmentMoveId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkDuplicateFormulaTemplateRequest": { - "type": "object", - "properties": { - "templateIds": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkDuplicateShipmentRequest": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "overrideDates": { - "type": "boolean" - }, - "shipmentId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateAccountTypeStatusRequest": { - "type": "object", - "properties": { - "accountTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateCarrierStatusRequest": { - "type": "object", - "properties": { - "carrierIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Status" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateCommodityStatusRequest": { - "type": "object", - "properties": { - "commodityIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateCustomerStatusRequest": { - "type": "object", - "properties": { - "customerIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateEquipmentTypeStatusRequest": { - "type": "object", - "properties": { - "equipmentTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateFormulaTemplateStatusRequest": { - "type": "object", - "properties": { - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.Status" - }, - "templateIds": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateGLAccountStatusRequest": { - "type": "object", - "properties": { - "glAccountIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateHazardousMaterialStatusRequest": { - "type": "object", - "properties": { - "hazardousMaterialIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateLocationStatusRequest": { - "type": "object", - "properties": { - "locationIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateServiceTypeStatusRequest": { - "type": "object", - "properties": { - "serviceTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateShipmentTypeStatusRequest": { - "type": "object", - "properties": { - "shipmentTypeIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateTractorStatusRequest": { - "type": "object", - "properties": { - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.EquipmentStatus" - }, - "tractorIds": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateTrailerStatusRequest": { - "type": "object", - "properties": { - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.EquipmentStatus" - }, - "trailerIds": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.BulkUpdateUserStatusRequest": { - "type": "object", - "properties": { - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.Status" - }, - "userIds": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.CancelShipmentRequest": { - "type": "object", - "properties": { - "cancelReason": { - "type": "string" - }, - "shipmentId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.CarrierAccessorialInput": { - "type": "object", - "properties": { - "accessorialChargeId": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "description": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.CreateShipmentHoldRequest": { - "type": "object", - "properties": { - "blocksBilling": { - "type": "boolean" - }, - "blocksDelivery": { - "type": "boolean" - }, - "blocksDispatch": { - "type": "boolean" - }, - "holdReasonId": { - "type": "string" - }, - "notes": { - "type": "string" - }, - "severity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldSeverity" - }, - "shipmentId": { - "type": "string" - }, - "startedAt": { - "type": "integer" - }, - "visibleToCustomer": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.CustomerDetentionStat": { - "type": "object", - "properties": { - "billedAmount": { - "type": "number" - }, - "breachCount": { - "type": "integer" - }, - "customerId": { - "type": "string" - }, - "customerName": { - "type": "string" - }, - "disputeCount": { - "type": "integer" - }, - "driverPayAmount": { - "type": "number" - }, - "netMargin": { - "type": "number" - }, - "stopCount": { - "type": "integer" - }, - "suppressedCount": { - "type": "integer" - }, - "waivedAmount": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.FacilityDetentionStat": { - "type": "object", - "properties": { - "avgDwellMinutes": { - "type": "integer" - }, - "billedAmount": { - "type": "number" - }, - "breachCount": { - "type": "integer" - }, - "disputeCount": { - "type": "integer" - }, - "driverPayAmount": { - "type": "number" - }, - "locationId": { - "type": "string" - }, - "locationName": { - "type": "string" - }, - "medianDwellMinutes": { - "type": "number" - }, - "netMargin": { - "type": "number" - }, - "p90DwellMinutes": { - "type": "number" - }, - "stopCount": { - "type": "integer" - }, - "suppressedCount": { - "type": "integer" - }, - "waivedAmount": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.GenerateRecurringShipmentResult": { - "type": "object", - "properties": { - "run": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipmentRun" - }, - "series": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.GetTemplateUsageResponse": { - "type": "object", - "properties": { - "inUse": { - "type": "boolean" - }, - "usages": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.TemplateUsageCount" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.LanePatternSummary": { - "type": "object", - "properties": { - "firstShipmentAt": { - "type": "integer" - }, - "lastShipmentAt": { - "type": "integer" - }, - "shipmentCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.MatchRecurringShipmentsRequest": { - "type": "object", - "properties": { - "customerId": { - "type": "string" - }, - "destinationLocationId": { - "type": "string" - }, - "originLocationId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.MatchRecurringShipmentsResponse": { - "type": "object", - "properties": { - "matches": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - } - }, - "pattern": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.LanePatternSummary" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.ShipmentDuplicateWorkflowResponse": { - "type": "object", - "properties": { - "runId": { - "type": "string" - }, - "status": { - "type": "string" - }, - "submittedAt": { - "type": "integer" - }, - "taskQueue": { - "type": "string" - }, - "workflowId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.ShipmentTotalsResponse": { - "type": "object", - "properties": { - "freightChargeAmount": { - "type": "number" - }, - "fuelSurcharge": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.AdditionalCharge" - }, - "otherChargeAmount": { - "type": "number" - }, - "totalChargeAmount": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.SplitMoveResponse": { - "type": "object", - "properties": { - "newMove": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove" - }, - "originalMove": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.SplitStopTimes": { - "type": "object", - "properties": { - "scheduledWindowEnd": { - "type": "integer" - }, - "scheduledWindowStart": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.TemplateUsageCount": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.TransferOwnershipRequest": { - "type": "object", - "properties": { - "ownerId": { - "type": "string" - }, - "shipmentId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.UpdateShipmentHoldRequest": { - "type": "object", - "properties": { - "blocksBilling": { - "type": "boolean" - }, - "blocksDelivery": { - "type": "boolean" - }, - "blocksDispatch": { - "type": "boolean" - }, - "holdId": { - "type": "string" - }, - "notes": { - "type": "string" - }, - "severity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldSeverity" - }, - "shipmentId": { - "type": "string" - }, - "startedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "visibleToCustomer": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_repositories.WaiverLeakageStat": { - "type": "object", - "properties": { - "approverCount": { - "type": "integer" - }, - "reason": { - "type": "string" - }, - "waivedAmount": { - "type": "number" - }, - "waiverCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.APIKeyPermissionInput": { - "type": "object", - "properties": { - "dataScope": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.DataScope" - }, - "operations": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Operation" - } - }, - "resource": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.APIKeyResponse": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "keyPrefix": { - "type": "string" - }, - "lastUsedAt": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "permissionScope": { - "type": "string" - }, - "permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.APIKeyPermissionInput" - } - }, - "status": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.APIKeySecretResponse": { - "type": "object", - "properties": { - "businessUnitId": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "keyPrefix": { - "type": "string" - }, - "lastUsedAt": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "permissionScope": { - "type": "string" - }, - "permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.APIKeyPermissionInput" - } - }, - "status": { - "type": "string" - }, - "token": { - "type": "string" - }, - "updatedAt": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.AnalyticsData": { - "type": "object", - "additionalProperties": {} - }, - "github_com_emoss08_trenova_internal_core_ports_services.AssessedJurisdiction": { - "type": "object", - "properties": { - "heightHeadroomFeet": { - "type": "number" - }, - "lengthHeadroomFeet": { - "type": "number" - }, - "maxHeightFeet": { - "type": "number" - }, - "maxLengthFeet": { - "type": "number" - }, - "maxWeightPounds": { - "type": "integer" - }, - "maxWidthFeet": { - "type": "number" - }, - "requiresPermit": { - "type": "boolean" - }, - "restrictions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.RestrictionKind" - } - }, - "sequence": { - "type": "integer" - }, - "sourceNote": { - "type": "string" - }, - "sourceUrl": { - "type": "string" - }, - "stateCode": { - "type": "string" - }, - "stateId": { - "type": "string" - }, - "stateName": { - "type": "string" - }, - "verificationState": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.VerificationState" - }, - "weightHeadroomPounds": { - "type": "integer" - }, - "widthHeadroomFeet": { - "description": "Headroom is the limit minus the measured value. A negative number is an\nexceedance, so the same field carries both \"how much room is left\" and\n\"how far over\" without the client needing a second shape.", - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.AssessedMeasurements": { - "type": "object", - "properties": { - "heightFeet": { - "type": "number" - }, - "lengthFeet": { - "type": "number" - }, - "weightPounds": { - "type": "integer" - }, - "widthFeet": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.AutoCompleteRequest": { - "type": "object", - "properties": { - "input": { - "type": "string" - }, - "sessionToken": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.AutocompleteLocationResult": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.LocationDetails" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.BatchPermissionCheckResult": { - "type": "object", - "properties": { - "cacheHit": { - "type": "boolean" - }, - "checkDuration": { - "type": "integer", - "format": "int64" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.PermissionCheckResult" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.BillingQueueStats": { - "type": "object", - "properties": { - "approved": { - "type": "integer" - }, - "canceled": { - "type": "integer" - }, - "exception": { - "type": "integer" - }, - "inReview": { - "type": "integer" - }, - "onHold": { - "type": "integer" - }, - "posted": { - "type": "integer" - }, - "readyForReview": { - "type": "integer" - }, - "sentBackToOps": { - "type": "integer" - }, - "total": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.CommitGroupResult": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "groupId": { - "type": "string" - }, - "groupLabel": { - "type": "string" - }, - "invoiceId": { - "type": "string" - }, - "invoiceNumber": { - "type": "string" - }, - "skipped": { - "type": "boolean" - }, - "success": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.CommitInvoiceRunResult": { - "type": "object", - "properties": { - "errorCount": { - "type": "integer" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.CommitGroupResult" - } - }, - "run": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRun" - }, - "skippedCount": { - "type": "integer" - }, - "successCount": { - "type": "integer" - }, - "totalCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ContractRateAccessorial": { - "type": "object", - "properties": { - "accessorialChargeId": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "description": { - "type": "string" - }, - "method": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.Method" - }, - "unit": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ContractRateApplication": { - "type": "object", - "properties": { - "accessorials": { - "description": "Accessorials are the charges the contract's own schedule applies. They\nare listed rather than counted because a rater accepting a re-rate is\nagreeing to each of them, and a total hides which ones appeared.", - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ContractRateAccessorial" - } - }, - "agreementId": { - "type": "string" - }, - "agreementName": { - "type": "string" - }, - "applied": { - "description": "Applied is false when no contract covered the lane, in which case nothing\nwas changed and the outcome says why.", - "type": "boolean" - }, - "baseRate": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "explanation": { - "type": "string" - }, - "formulaTemplateId": { - "description": "FormulaTemplateID and BaseRate are what the contract seats on the\nshipment: its rating method, and the rate that method prices with.", - "type": "string" - }, - "formulaTemplateName": { - "type": "string" - }, - "linehaulAmount": { - "type": "number" - }, - "otherChargeAmount": { - "type": "number" - }, - "outcome": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.Outcome" - }, - "previousLinehaulAmount": { - "description": "PreviousLinehaulAmount is what the shipment charged before, so the dialog\ncan state the change rather than only the result.", - "type": "number" - }, - "ruleId": { - "type": "string" - }, - "ruleLabel": { - "type": "string" - }, - "totalChargeAmount": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.CreateAPIKeyRequest": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.APIKeyPermissionInput" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.DistanceCalculationResponse": { - "type": "object", - "properties": { - "moves": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.DistanceMoveResult" - } - }, - "shipmentId": { - "type": "string" - }, - "totalDistance": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.DistanceMoveResult": { - "type": "object", - "properties": { - "calculatedAt": { - "type": "integer" - }, - "dataVersion": { - "type": "string" - }, - "distance": { - "type": "number" - }, - "distanceProfileId": { - "type": "string" - }, - "distanceProfileName": { - "type": "string" - }, - "distanceUnits": { - "type": "string" - }, - "jurisdictionMiles": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.JurisdictionMileResult" - } - }, - "moveId": { - "type": "string" - }, - "moveIndex": { - "type": "integer" - }, - "provider": { - "type": "string" - }, - "routingType": { - "type": "string" - }, - "source": { - "type": "string" - }, - "warnings": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.EffectivePermissions": { - "type": "object", - "properties": { - "maxSensitivity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.FieldSensitivity" - }, - "organizationId": { - "type": "string" - }, - "resources": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.EffectiveResourcePermission" - } - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.RoleSummary" - } - }, - "userId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.EffectiveResourcePermission": { - "type": "object", - "properties": { - "dataScope": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.DataScope" - }, - "grantedBy": { - "type": "array", - "items": { - "type": "string" - } - }, - "operations": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Operation" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.GetLogoURLResponse": { - "type": "object", - "properties": { - "url": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.JurisdictionMileResult": { - "type": "object", - "properties": { - "countryCode": { - "type": "string" - }, - "distance": { - "type": "number" - }, - "distanceUnits": { - "type": "string" - }, - "jurisdictionCode": { - "type": "string" - }, - "loaded": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.LightPermissionManifest": { - "type": "object", - "properties": { - "activeRoleIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "activeRoles": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.RoleSummary" - } - }, - "authorizedRoleIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "authorizedRoles": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.RoleSummary" - } - }, - "availableOrgs": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.OrgSummary" - } - }, - "checksum": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "maxSensitivity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.FieldSensitivity" - }, - "organizationId": { - "type": "string" - }, - "permissions": { - "type": "object", - "additionalProperties": { - "type": "integer", - "format": "int32" - } - }, - "requiresRoleActivation": { - "type": "boolean" - }, - "routeAccess": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - }, - "userId": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.LocationDetails": { - "type": "object", - "properties": { - "addressLine1": { - "type": "string" - }, - "city": { - "type": "string" - }, - "latitude": { - "type": "number" - }, - "longitude": { - "type": "number" - }, - "name": { - "type": "string" - }, - "placeId": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "state": { - "type": "string" - }, - "stateId": { - "type": "string" - }, - "types": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.LoginRequest": { - "type": "object", - "required": [ - "emailAddress", - "password" - ], - "properties": { - "emailAddress": { - "type": "string" - }, - "organizationSlug": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.LoginResponse": { - "type": "object", - "properties": { - "activeRoleIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "activeRoles": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.RoleSummary" - } - }, - "authProvider": { - "type": "string" - }, - "authenticatorAal": { - "type": "integer" - }, - "authorizedRoleIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "authorizedRoles": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.RoleSummary" - } - }, - "csrfToken": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "externalIdentityId": { - "type": "string" - }, - "federationFal": { - "type": "integer" - }, - "lastReauthenticatedAt": { - "type": "integer" - }, - "mfaAuthenticatedAt": { - "type": "integer" - }, - "requiresRoleActivation": { - "type": "boolean" - }, - "riskDecision": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "user": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.OpenStatement": { - "type": "object", - "properties": { - "autoBill": { - "type": "boolean" - }, - "belowMinimum": { - "description": "BelowMinimum means every group is under the customer's floor, so billing\ntoday would produce nothing and the freight would roll into next period.", - "type": "boolean" - }, - "billingCycleAnchorDay": { - "type": "integer" - }, - "billingCycleTimezone": { - "type": "string" - }, - "currencyCode": { - "type": "string" - }, - "customerCode": { - "type": "string" - }, - "customerId": { - "type": "string" - }, - "customerName": { - "type": "string" - }, - "customerStatus": { - "type": "string" - }, - "cycle": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.BillingCycle" - }, - "detail": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceDetail" - }, - "groups": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.StatementGroup" - } - }, - "heldAmount": { - "type": "number" - }, - "heldCount": { - "description": "HeldCount and HeldAmount are the freight that belongs to this period but is\nstill waiting on a biller, and so will not be on the invoice.\n\nWithout them the statement understates the period: a biller sees 197\nshipments and has no way to know 12 more are sitting in review. Chasing\nthose down is the work that has to happen before the cycle closes.", - "type": "integer" - }, - "invoiceCount": { - "type": "integer" - }, - "lastBilledPeriodEnd": { - "type": "integer" - }, - "minimumAmount": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "periodEnd": { - "type": "integer" - }, - "periodStart": { - "type": "integer" - }, - "sectionBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceSectionKey" - }, - "shipmentCount": { - "type": "integer" - }, - "splitBy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.InvoiceSplitKey" - }, - "totalAmount": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.OrgSummary": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.PermissionCheckResult": { - "type": "object", - "properties": { - "allowed": { - "type": "boolean" - }, - "cacheHit": { - "type": "boolean" - }, - "checkDuration": { - "type": "integer", - "format": "int64" - }, - "dataScope": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.DataScope" - }, - "reason": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.PermitAssessment": { - "type": "object", - "properties": { - "earliestPickup": { - "type": "integer" - }, - "expiringBeforeDelivery": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Requirement" - } - }, - "feeIsBaseOnly": { - "description": "FeeIsBaseOnly records that per-mile permit fees were not included because\nper-jurisdiction mileage is unavailable. Presenting a mileage-derived fee\nwithout state-level distance would be fabricated precision on a number\ncarriers bill from.", - "type": "boolean" - }, - "jurisdictions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.AssessedJurisdiction" - } - }, - "maxLeadTimeDays": { - "type": "integer" - }, - "measurements": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.AssessedMeasurements" - }, - "open": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Requirement" - } - }, - "requirements": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permit.Requirement" - } - }, - "routeResolved": { - "description": "RouteResolved distinguishes \"this route needs no permits\" from \"we could\nnot tell which states this route crosses\". Both produce an empty\nrequirement list, and conflating them would let an unmapped route read as\na clean one.", - "type": "boolean" - }, - "totalEscorts": { - "type": "integer" - }, - "totalEstimatedFee": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.RealtimeToken": { - "type": "object", - "properties": { - "clientId": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "token": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ReassignChargeResult": { - "type": "object", - "properties": { - "canceledItemIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "createdItemIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "item": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillingQueueItem" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillingQueueItem" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ResourcePermissionDetail": { - "type": "object", - "properties": { - "accessibleFields": { - "type": "array", - "items": { - "type": "string" - } - }, - "dataScope": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.DataScope" - }, - "maxSensitivity": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.FieldSensitivity" - }, - "operations": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Operation" - } - }, - "resource": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.RoleSummary": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isSystem": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "permissionCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingPayerReadiness": { - "type": "object", - "properties": { - "creditHold": { - "type": "boolean" - }, - "creditStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.CreditStatus" - }, - "isPrimary": { - "type": "boolean" - }, - "payerCode": { - "type": "string" - }, - "payerId": { - "type": "string" - }, - "payerName": { - "type": "string" - }, - "shareAmount": { - "type": "number" - }, - "shouldAutoApproveBilling": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingReadiness": { - "type": "object", - "properties": { - "canMarkReadyToInvoice": { - "type": "boolean" - }, - "missingRequirements": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingRequirement" - } - }, - "payers": { - "description": "Payers is every customer with a share of this shipment, the shipment's own\npayer first. Requirements above are the union of theirs.", - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingPayerReadiness" - } - }, - "policy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingReadinessPolicy" - }, - "requirements": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingRequirement" - } - }, - "serviceFailureContext": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShipmentServiceFailureBillingContext" - }, - "shipmentId": { - "type": "string" - }, - "shipmentStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Status" - }, - "shouldAutoApproveBilling": { - "description": "ShouldAutoApproveBilling means this shipment may clear the billing queue\nwithout a biller looking at it, because it has no requirement or rate issue\nand every payer asked for clean freight to pass straight through.", - "type": "boolean" - }, - "shouldAutoMarkReadyToInvoice": { - "type": "boolean" - }, - "shouldAutoTransferToBilling": { - "type": "boolean" - }, - "validationFailures": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingValidation" - } - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingWarning" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingReadinessPolicy": { - "type": "object", - "properties": { - "billingExceptionDisposition": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BillingExceptionDisposition" - }, - "billingQueueTransferMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.BillingQueueTransferMode" - }, - "notifyOnBillingExceptions": { - "type": "boolean" - }, - "rateValidationEnforcement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.EnforcementLevel" - }, - "readyToBillAssignmentMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.ReadyToBillAssignmentMode" - }, - "shipmentBillingRequirementEnforcement": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.EnforcementLevel" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingRequirement": { - "type": "object", - "properties": { - "documentCount": { - "type": "integer" - }, - "documentIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "documentTypeCode": { - "type": "string" - }, - "documentTypeId": { - "type": "string" - }, - "documentTypeName": { - "type": "string" - }, - "satisfied": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingValidation": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "field": { - "type": "string" - }, - "message": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ShipmentBillingWarning": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "context": { - "type": "object", - "additionalProperties": {} - }, - "message": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ShipmentServiceFailureBillingContext": { - "type": "object", - "properties": { - "hasUnresolved": { - "type": "boolean" - }, - "serviceFailureIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "unresolvedCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ShipmentUIPolicy": { - "type": "object", - "properties": { - "allowMoveRemovals": { - "type": "boolean" - }, - "checkForDuplicateBols": { - "type": "boolean" - }, - "checkHazmatSegregation": { - "type": "boolean" - }, - "maxShipmentWeightLimit": { - "type": "integer" - }, - "profile": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_modeprofile.ResolvedPolicy" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ShopOption": { - "type": "object", - "properties": { - "agreementId": { - "type": "string" - }, - "carrierId": { - "type": "string" - }, - "carrierName": { - "type": "string" - }, - "cost": { - "type": "number" - }, - "currency": { - "type": "string" - }, - "guideRank": { - "description": "GuideRank is the routing guide's own rank, zero when the carrier did not\ncome from a guide.", - "type": "integer" - }, - "margin": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.MarginVerdict" - }, - "note": { - "description": "Note says why this option ranked where it did, or why it could not be\npriced at all. It is what makes a shopping result answerable months later.", - "type": "string" - }, - "offerTtlSeconds": { - "description": "OfferTTLSeconds is how long the guide gives the carrier to accept.", - "type": "integer" - }, - "outcome": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.Outcome" - }, - "quote": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.RateQuote" - }, - "rank": { - "description": "Rank is this option's position in the returned order, from one.", - "type": "integer" - }, - "ruleId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.ShopStrategy": { - "type": "string", - "enum": [ - "LeastCost", - "BestMargin", - "GuideRank", - "FastestAccept" - ], - "x-enum-varnames": [ - "ShopStrategyLeastCost", - "ShopStrategyBestMargin", - "ShopStrategyGuideRank", - "ShopStrategyFastestAccept" - ] - }, - "github_com_emoss08_trenova_internal_core_ports_services.StatementGroup": { - "type": "object", - "properties": { - "belowMinimum": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "shipmentCount": { - "type": "integer" - }, - "shipments": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.StatementShipment" - } - }, - "totalAmount": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.StatementShipment": { - "type": "object", - "properties": { - "amount": { - "type": "number" - }, - "billingQueueItemId": { - "type": "string" - }, - "bol": { - "type": "string" - }, - "orderId": { - "type": "string" - }, - "orderNumber": { - "type": "string" - }, - "poNumber": { - "type": "string" - }, - "proNumber": { - "type": "string" - }, - "serviceDate": { - "type": "integer" - }, - "shipmentId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_ports_services.UpdateAPIKeyRequest": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "permissions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.APIKeyPermissionInput" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_apikeyservice.AllowedResourceCategory": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "resources": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.ResourceDefinition" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_detentionservice.BacktestBucket": { - "type": "object", - "properties": { - "baselineAmount": { - "type": "number" - }, - "billableCount": { - "type": "integer" - }, - "delta": { - "type": "number" - }, - "driverPayAmount": { - "type": "number" - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "netMargin": { - "type": "number" - }, - "proposedAmount": { - "type": "number" - }, - "stopCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_detentionservice.BacktestRequest": { - "type": "object", - "properties": { - "assumeNoticeCompliance": { - "description": "AssumeNoticeCompliance models the notice as having been sent on time.\nDefaults to true, because a backtest is asking what the *terms* would\nearn, not re-litigating past process failures. Set false to see what the\nsame history would have produced given the notices actually sent.", - "type": "boolean" - }, - "compareToPolicyId": { - "type": "string" - }, - "driverPayRate": { - "type": "string" - }, - "from": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "policy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy" - }, - "to": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_detentionservice.BacktestResult": { - "type": "object", - "properties": { - "baselineRevenue": { - "type": "number" - }, - "byCustomer": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_detentionservice.BacktestBucket" - } - }, - "byFacility": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_detentionservice.BacktestBucket" - } - }, - "from": { - "type": "integer" - }, - "negativeMarginStops": { - "type": "integer" - }, - "proposedDriverPay": { - "type": "number" - }, - "proposedNetMargin": { - "type": "number" - }, - "proposedRevenue": { - "type": "number" - }, - "revenueDelta": { - "type": "number" - }, - "stopsBillable": { - "type": "integer" - }, - "stopsEvaluated": { - "type": "integer" - }, - "stopsForfeited": { - "type": "integer" - }, - "stopsMatched": { - "type": "integer" - }, - "stopsSuppressed": { - "type": "integer" - }, - "to": { - "type": "integer" - }, - "truncated": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_detentionservice.DeskEntry": { - "type": "object", - "properties": { - "amountAtRisk": { - "type": "number" - }, - "minutesUntilFreeEnds": { - "type": "integer" - }, - "minutesUntilNoticeDue": { - "type": "integer" - }, - "noticeWindowOpen": { - "type": "boolean" - }, - "occurrence": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionOccurrence" - }, - "urgency": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_detentionservice.DisputePacket": { - "type": "object", - "properties": { - "chainVerified": { - "type": "boolean" - }, - "collectability": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.CollectabilityAssessment" - }, - "evidence": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionEvidence" - } - }, - "generatedAt": { - "type": "integer" - }, - "notices": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionNotice" - } - }, - "occurrence": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionOccurrence" - }, - "policySnapshot": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.PolicySnapshot" - }, - "receipt": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_detentionservice.OccurrenceDetail": { - "type": "object", - "properties": { - "collectability": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.CollectabilityAssessment" - }, - "evidence": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionEvidence" - } - }, - "notices": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionNotice" - } - }, - "occurrence": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionOccurrence" - }, - "receipt": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_detentionservice.PreviewResult": { - "type": "object", - "properties": { - "arrivedLate": { - "type": "boolean" - }, - "billableAmount": { - "type": "number" - }, - "billableMinutes": { - "type": "integer" - }, - "calculationTrace": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.CalculationTrace" - }, - "capApplied": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.CapKind" - }, - "driverPayAmount": { - "type": "number" - }, - "freeMinutesGranted": { - "type": "integer" - }, - "grossAmount": { - "type": "number" - }, - "netMargin": { - "type": "number" - }, - "notificationStatus": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.NotificationStatus" - }, - "policySnapshot": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.PolicySnapshot" - }, - "rawDwellMinutes": { - "type": "integer" - }, - "receipt": { - "type": "string" - }, - "roundedMinutes": { - "type": "integer" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.OccurrenceStatus" - }, - "suppressedByGate": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_detentionservice.PreviewScenario": { - "type": "object", - "properties": { - "appointmentEnd": { - "type": "integer" - }, - "appointmentStart": { - "type": "integer" - }, - "arrivedAt": { - "type": "integer" - }, - "departedAt": { - "type": "integer" - }, - "driverPayRate": { - "type": "string" - }, - "noticeSentAt": { - "type": "integer" - }, - "scheduleType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.StopScheduleType" - }, - "stopType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.StopType" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_driverportalservice.AcceptInvitationResult": { - "type": "object", - "properties": { - "emailAddress": { - "type": "string" - }, - "organizationName": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_driverportalservice.InvitationPreview": { - "type": "object", - "properties": { - "email": { - "type": "string" - }, - "expiresAt": { - "type": "integer" - }, - "organizationName": { - "type": "string" - }, - "workerFirstName": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_driverportalservice.PortalDocument": { - "type": "object", - "properties": { - "createdAt": { - "type": "integer" - }, - "documentTypeName": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "fileSize": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_driverportalservice.PortalDocumentType": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "color": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulaassistantservice.ExplainFormulaRequest": { - "type": "object", - "properties": { - "expression": { - "type": "string" - }, - "schemaId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulaassistantservice.ExplainFormulaResponse": { - "type": "object", - "properties": { - "explanation": { - "type": "string" - }, - "modelIdentifier": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulaassistantservice.GenerateFormulaRequest": { - "type": "object", - "properties": { - "instruction": { - "type": "string" - }, - "schemaId": { - "type": "string" - }, - "templateType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.TemplateType" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulaassistantservice.GenerateFormulaResponse": { - "type": "object", - "properties": { - "explanation": { - "type": "string" - }, - "expression": { - "type": "string" - }, - "modelIdentifier": { - "type": "string" - }, - "scenarios": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulaassistantservice.ProposedScenario" - } - }, - "validation": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.TestExpressionResponse" - }, - "variableDefinitions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.VariableDefinition" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulaassistantservice.ProposedScenario": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "error": { - "type": "string" - }, - "expectedAmount": { - "type": "number" - }, - "name": { - "type": "string" - }, - "valid": { - "type": "boolean" - }, - "variables": { - "type": "object", - "additionalProperties": {} - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.BacktestResponse": { - "type": "object", - "properties": { - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.BacktestResult" - } - }, - "summary": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.BacktestSummary" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.BacktestResult": { - "type": "object", - "properties": { - "candidateAmount": { - "type": "number" - }, - "candidateError": { - "type": "string" - }, - "currentAmount": { - "type": "number" - }, - "currentError": { - "type": "string" - }, - "delta": { - "type": "number" - }, - "deltaPct": { - "type": "number" - }, - "guardrailApplied": { - "type": "boolean" - }, - "proNumber": { - "type": "string" - }, - "shipmentId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.BacktestSummary": { - "type": "object", - "properties": { - "candidateErrorCount": { - "type": "integer" - }, - "candidateTotal": { - "type": "number" - }, - "changedCount": { - "type": "integer" - }, - "currentErrorCount": { - "type": "integer" - }, - "currentTotal": { - "type": "number" - }, - "decreasedCount": { - "type": "integer" - }, - "errorCount": { - "type": "integer" - }, - "evaluatedCount": { - "type": "integer" - }, - "guardrailCount": { - "type": "integer" - }, - "increasedCount": { - "type": "integer" - }, - "maxDecrease": { - "type": "number" - }, - "maxIncrease": { - "type": "number" - }, - "shipmentCount": { - "type": "integer" - }, - "totalDelta": { - "type": "number" - }, - "totalDeltaPct": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ExpressionWarning": { - "type": "object", - "properties": { - "field": { - "type": "string" - }, - "message": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "suggestion": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ImportTemplatePayload": { - "type": "object", - "properties": { - "breakdownDefinitions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.BreakdownDefinition" - } - }, - "description": { - "type": "string" - }, - "expression": { - "type": "string" - }, - "maxCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "metadata": { - "type": "object", - "additionalProperties": {} - }, - "minCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "name": { - "type": "string" - }, - "roundingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.RoundingMode" - }, - "roundingPrecision": { - "type": "integer" - }, - "schemaId": { - "type": "string" - }, - "sourceTemplateId": { - "type": "string" - }, - "sourceVersionNumber": { - "type": "integer" - }, - "testCases": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.TestCaseInput" - } - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.TemplateType" - }, - "variableDefinitions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.VariableDefinition" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ImportTemplatesRequest": { - "type": "object", - "properties": { - "exportVersion": { - "type": "string" - }, - "onConflict": { - "type": "string" - }, - "template": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ImportTemplatePayload" - }, - "templates": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ImportTemplatePayload" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ImportTemplatesResponse": { - "type": "object", - "properties": { - "created": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "renamed": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.InstallStandardsResponse": { - "type": "object", - "properties": { - "installed": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - }, - "skipped": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ReadinessCheck": { - "type": "object", - "properties": { - "detail": { - "type": "string" - }, - "key": { - "type": "string" - }, - "label": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ReadinessResponse": { - "type": "object", - "properties": { - "canApprove": { - "type": "boolean" - }, - "canSubmit": { - "type": "boolean" - }, - "checks": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ReadinessCheck" - } - }, - "scenarioFailing": { - "type": "array", - "items": { - "type": "string" - } - }, - "scenarioPassed": { - "type": "integer" - }, - "scenarioTotal": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ReviewDiffResponse": { - "type": "object", - "properties": { - "baseExpression": { - "type": "string" - }, - "baseVersion": { - "type": "integer" - }, - "changeCount": { - "type": "integer" - }, - "changes": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/jsonutils.FieldChange" - } - }, - "currentExpression": { - "type": "string" - }, - "currentVersion": { - "type": "integer" - }, - "hasApprovedBase": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.RunTestCasesRequest": { - "type": "object", - "properties": { - "candidate": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.TestCaseCandidate" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.RunTestCasesResponse": { - "type": "object", - "properties": { - "failed": { - "type": "integer" - }, - "passed": { - "type": "integer" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.TestCaseResult" - } - }, - "total": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.StandardTemplate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "expression": { - "type": "string" - }, - "name": { - "type": "string" - }, - "schemaId": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.TemplateType" - }, - "variableDefinitions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.VariableDefinition" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.TestCaseCandidate": { - "type": "object", - "properties": { - "breakdownDefinitions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.BreakdownDefinition" - } - }, - "expression": { - "type": "string" - }, - "maxCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "minCharge": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "roundingMode": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.RoundingMode" - }, - "roundingPrecision": { - "type": "integer" - }, - "variableDefinitions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.VariableDefinition" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.TestCaseInput": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "expectedAmount": { - "type": "number" - }, - "name": { - "type": "string" - }, - "tolerance": { - "type": "number" - }, - "variables": { - "type": "object", - "additionalProperties": {} - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.TestCaseResult": { - "type": "object", - "properties": { - "actualAmount": { - "type": "number" - }, - "difference": { - "type": "number" - }, - "error": { - "type": "string" - }, - "expectedAmount": { - "type": "number" - }, - "name": { - "type": "string" - }, - "passed": { - "type": "boolean" - }, - "testCaseId": { - "type": "string" - }, - "tolerance": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.TestExpressionResponse": { - "type": "object", - "properties": { - "breakdown": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatemplatetypes.BreakdownAmount" - } - }, - "error": { - "type": "string" - }, - "guardrail": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatemplatetypes.GuardrailResult" - }, - "message": { - "type": "string" - }, - "receipt": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.Receipt" - }, - "resolvedVariables": { - "type": "object", - "additionalProperties": {} - }, - "result": {}, - "rounding": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatemplatetypes.RoundingResult" - }, - "valid": { - "type": "boolean" - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_formulatemplateservice.ExpressionWarning" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_formulatemplateservice.UpdateTestCaseRequest": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "expectedAmount": { - "type": "number" - }, - "name": { - "type": "string" - }, - "tolerance": { - "type": "number" - }, - "variables": { - "type": "object", - "additionalProperties": {} - }, - "version": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_pagefavoriteservice.ToggleResult": { - "type": "object", - "properties": { - "favorite": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_pagefavorite.PageFavorite" - }, - "favorited": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_rateagreementservice.DuplicateRateAgreementRequest": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_rateagreementservice.RateAdjustment": { - "type": "object", - "properties": { - "flatChange": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "percentChange": { - "$ref": "#/definitions/decimal.NullDecimal" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_rateagreementservice.RateIncreaseLine": { - "type": "object", - "properties": { - "after": { - "type": "number" - }, - "agreementCode": { - "type": "string" - }, - "agreementName": { - "type": "string" - }, - "before": { - "type": "number" - }, - "breakCount": { - "type": "integer" - }, - "label": { - "type": "string" - }, - "laneKey": { - "type": "string" - }, - "rateAgreementId": { - "type": "string" - }, - "ruleId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_rateagreementservice.RateIncreasePlan": { - "type": "object", - "properties": { - "agreementCount": { - "type": "integer" - }, - "effectiveFrom": { - "type": "integer" - }, - "lines": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_rateagreementservice.RateIncreaseLine" - } - }, - "negativeCount": { - "description": "NegativeCount counts lanes a flat decrease would push below zero. A\nplan carrying any refuses to apply.", - "type": "integer" - }, - "skippedNoRate": { - "description": "SkippedNoRate counts matrix-priced rules: their numbers live in the\nmatrix cells, so a GRI cannot move them and says so instead of\npretending it did.", - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_rateagreementservice.RateIncreaseRequest": { - "type": "object", - "properties": { - "adjustment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_rateagreementservice.RateAdjustment" - }, - "agreementIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "carrierId": { - "type": "string" - }, - "customerId": { - "type": "string" - }, - "effectiveFrom": { - "type": "integer" - }, - "partyType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.PartyType" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_tenderservice.CancelTenderRequest": { - "type": "object", - "properties": { - "reason": { - "type": "string" - }, - "tenderId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_tenderservice.CreateSpotTenderRequest": { - "type": "object", - "properties": { - "lines": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_tenderservice.SpotTenderLine" - } - }, - "mode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Mode" - }, - "overrideInsuranceWarnings": { - "type": "boolean" - }, - "shipmentMoveId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_tenderservice.CreateWaterfallResult": { - "type": "object", - "properties": { - "acceptedAt": { - "type": "integer" - }, - "acceptedOfferId": { - "type": "string" - }, - "businessUnitId": { - "type": "string" - }, - "canceledAt": { - "type": "integer" - }, - "canceledById": { - "type": "string" - }, - "cancellationReason": { - "type": "string" - }, - "createdAt": { - "type": "integer" - }, - "createdById": { - "type": "string" - }, - "currentRank": { - "type": "integer" - }, - "exhaustedAt": { - "type": "integer" - }, - "id": { - "type": "string" - }, - "mode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Mode" - }, - "offers": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.TenderOffer" - } - }, - "organizationId": { - "type": "string" - }, - "routingGuide": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide" - }, - "routingGuideId": { - "type": "string" - }, - "screening": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_tenderservice.GuideScreeningSummary" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - }, - "shipmentId": { - "type": "string" - }, - "shipmentMove": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentMove" - }, - "shipmentMoveId": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Status" - }, - "updatedAt": { - "type": "integer" - }, - "version": { - "type": "integer" - }, - "workflowId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_tenderservice.CreateWaterfallTenderRequest": { - "type": "object", - "properties": { - "routingGuideId": { - "type": "string" - }, - "shipmentMoveId": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_internal_core_services_tenderservice.GuideEntryScreeningResult": { - "type": "object", - "properties": { - "carrierName": { - "type": "string" - }, - "rank": { - "type": "integer" - }, - "reasons": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_tenderservice.GuideScreeningSummary": { - "type": "object", - "properties": { - "skipped": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_tenderservice.GuideEntryScreeningResult" - } - }, - "warned": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_tenderservice.GuideEntryScreeningResult" - } - } - } - }, - "github_com_emoss08_trenova_internal_core_services_tenderservice.SpotTenderLine": { - "type": "object", - "properties": { - "carrierId": { - "type": "string" - }, - "channel": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.Channel" - }, - "email": { - "type": "string" - }, - "offerTtlSeconds": { - "type": "integer" - }, - "rate": { - "type": "number" - }, - "rateMethod": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.CarrierRateMethod" - } - } - }, - "github_com_emoss08_trenova_pkg_domaintypes.EquipmentStatus": { - "type": "string", - "enum": [ - "Available", - "OutOfService", - "AtMaintenance", - "Sold" - ], - "x-enum-varnames": [ - "EquipmentStatusAvailable", - "EquipmentStatusOOS", - "EquipmentStatusAtMaintenance", - "EquipmentStatusSold" - ] - }, - "github_com_emoss08_trenova_pkg_domaintypes.IFTAFuelType": { - "type": "string", - "enum": [ - "Diesel", - "Gasoline", - "Gasohol", - "Propane", - "CNG", - "LNG", - "Ethanol", - "Methanol", - "E85", - "M85", - "A55", - "Biodiesel", - "Electricity", - "Hydrogen", - "DEF", - "Reefer", - "Other" - ], - "x-enum-varnames": [ - "IFTAFuelTypeDiesel", - "IFTAFuelTypeGasoline", - "IFTAFuelTypeGasohol", - "IFTAFuelTypePropane", - "IFTAFuelTypeCNG", - "IFTAFuelTypeLNG", - "IFTAFuelTypeEthanol", - "IFTAFuelTypeMethanol", - "IFTAFuelTypeE85", - "IFTAFuelTypeM85", - "IFTAFuelTypeA55", - "IFTAFuelTypeBiodiesel", - "IFTAFuelTypeElectricity", - "IFTAFuelTypeHydrogen", - "IFTAFuelTypeDEF", - "IFTAFuelTypeReefer", - "IFTAFuelTypeOther" - ] - }, - "github_com_emoss08_trenova_pkg_domaintypes.OwnershipType": { - "type": "string", - "enum": [ - "CompanyOwned", - "Leased", - "OwnerOperator" - ], - "x-enum-varnames": [ - "OwnershipTypeCompanyOwned", - "OwnershipTypeLeased", - "OwnershipTypeOwnerOperator" - ] - }, - "github_com_emoss08_trenova_pkg_domaintypes.Status": { - "type": "string", - "enum": [ - "Active", - "Inactive" - ], - "x-enum-varnames": [ - "StatusActive", - "StatusInactive" - ] - }, - "github_com_emoss08_trenova_pkg_domaintypes.TimeFormat": { - "type": "string", - "enum": [ - "12-hour", - "24-hour" - ], - "x-enum-varnames": [ - "TimeFormat12Hour", - "TimeFormat24Hour" - ] - }, - "github_com_emoss08_trenova_pkg_errortypes.ErrorCode": { - "type": "string", - "enum": [ - "REQUIRED", - "INVALID", - "DUPLICATE", - "NOT_FOUND", - "BUSINESS_LOGIC", - "UNAUTHORIZED", - "FORBIDDEN", - "INVALID_FORMAT", - "INVALID_LENGTH", - "INVALID_REFERENCE", - "INVALID_OPERATION", - "SYSTEM_ERROR", - "ALREADY_EXISTS", - "ALREADY_CLEARED", - "VERSION_MISMATCH", - "TOO_MANY_REQUESTS", - "COMPLIANCE_VIOLATION", - "RESOURCE_IN_USE", - "BREAKING_CHANGE", - "NOT_IMPLEMENTED" - ], - "x-enum-varnames": [ - "ErrRequired", - "ErrInvalid", - "ErrDuplicate", - "ErrNotFound", - "ErrBusinessLogic", - "ErrUnauthorized", - "ErrForbidden", - "ErrInvalidFormat", - "ErrInvalidLength", - "ErrInvalidReference", - "ErrInvalidOperation", - "ErrSystemError", - "ErrAlreadyExists", - "ErrAlreadyCleared", - "ErrVersionMismatch", - "ErrTooManyRequests", - "ErrComplianceViolation", - "ErrResourceInUse", - "ErrBreakingChange", - "ErrNotImplemented" - ] - }, - "github_com_emoss08_trenova_pkg_formulatemplatetypes.BreakdownAmount": { - "type": "object", - "properties": { - "amount": { - "type": "number" - }, - "error": { - "type": "string" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_pkg_formulatemplatetypes.GuardrailResult": { - "type": "object", - "properties": { - "applied": { - "type": "boolean" - }, - "bound": { - "type": "string" - }, - "maxCharge": { - "type": "number" - }, - "minCharge": { - "type": "number" - }, - "rawAmount": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_pkg_formulatemplatetypes.RoundingResult": { - "type": "object", - "properties": { - "applied": { - "type": "boolean" - }, - "mode": { - "type": "string" - }, - "precision": { - "type": "integer" - }, - "unroundedAmount": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_pkg_formulatemplatetypes.SchemaDescription": { - "type": "object", - "properties": { - "functions": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatemplatetypes.SchemaFunctionInfo" - } - }, - "schemaId": { - "type": "string" - }, - "variables": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatemplatetypes.SchemaVariableInfo" - } - } - } - }, - "github_com_emoss08_trenova_pkg_formulatemplatetypes.SchemaFunctionInfo": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "example": { - "type": "string" - }, - "name": { - "type": "string" - }, - "operator": { - "type": "boolean" - }, - "signature": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_pkg_formulatemplatetypes.SchemaVariableInfo": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "computed": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "enum": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "nullable": { - "type": "boolean" - }, - "type": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_pkg_formulatypes.BreakdownDefinition": { - "type": "object", - "properties": { - "expression": { - "type": "string" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_pkg_formulatypes.LookupMatch": { - "type": "object", - "properties": { - "adjusted": { - "description": "Adjusted says the axis's overflow policy moved the key into this band\nbecause no band covered it.", - "type": "boolean" - }, - "bandMax": { - "type": "number" - }, - "bandMin": { - "type": "number" - }, - "matchedKey": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_pkg_formulatypes.LookupTrace": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "keys": { - "type": "array", - "items": {} - }, - "match": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.LookupMatch" - }, - "scope": { - "description": "Scope is \"expression\" for the main formula or the breakdown line's name.", - "type": "string" - }, - "table": { - "type": "string" - }, - "value": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_pkg_formulatypes.Receipt": { - "type": "object", - "properties": { - "durationMicros": { - "type": "integer" - }, - "effectiveFrom": { - "type": "integer" - }, - "lookups": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.LookupTrace" - } - }, - "rawAmount": { - "type": "number" - }, - "variables": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.VariableProvenance" - } - }, - "versionNumber": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_pkg_formulatypes.ValueSource": { - "type": "string", - "enum": [ - "field", - "computed", - "input", - "override", - "default", - "provided", - "sample" - ], - "x-enum-varnames": [ - "ValueSourceField", - "ValueSourceComputed", - "ValueSourceInput", - "ValueSourceOverride", - "ValueSourceDefault", - "ValueSourceProvided", - "ValueSourceSample" - ] - }, - "github_com_emoss08_trenova_pkg_formulatypes.VariableDefinition": { - "type": "object", - "properties": { - "defaultValue": {}, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "required": { - "type": "boolean" - }, - "source": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.VariableValueType" - } - } - }, - "github_com_emoss08_trenova_pkg_formulatypes.VariableProvenance": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "source": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.ValueSource" - }, - "value": {} - } - }, - "github_com_emoss08_trenova_pkg_formulatypes.VariableValueType": { - "type": "string", - "enum": [ - "Number", - "String", - "Boolean", - "Date", - "Array", - "Object", - "Any" - ], - "x-enum-comments": { - "VariableValueTypeAny": "used for runtime-determined types" - }, - "x-enum-descriptions": [ - "", - "", - "", - "", - "", - "", - "used for runtime-determined types" - ], - "x-enum-varnames": [ - "VariableValueTypeNumber", - "VariableValueTypeString", - "VariableValueTypeBoolean", - "VariableValueTypeDate", - "VariableValueTypeArray", - "VariableValueTypeObject", - "VariableValueTypeAny" - ] - }, - "github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_shipment_Shipment": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "endCursor": { - "type": "string" - }, - "hasNextPage": { - "type": "boolean" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - }, - "totalCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_shipment_ShipmentComment": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "endCursor": { - "type": "string" - }, - "hasNextPage": { - "type": "boolean" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentComment" - } - }, - "totalCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_tractor_Tractor": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "endCursor": { - "type": "string" - }, - "hasNextPage": { - "type": "boolean" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - }, - "totalCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_trailer_Trailer": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "endCursor": { - "type": "string" - }, - "hasNextPage": { - "type": "boolean" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - }, - "totalCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.CursorResponse-array_github_com_emoss08_trenova_internal_core_domain_worker_Worker": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "endCursor": { - "type": "string" - }, - "hasNextPage": { - "type": "boolean" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - } - }, - "totalCount": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.ListResult-github_com_emoss08_trenova_internal_core_domain_jurisdictionrule_JurisdictionRule": { - "type": "object", - "properties": { - "hasNextPage": { - "type": "boolean" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_jurisdictionrule.JurisdictionRule" - } - }, - "total": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_accessorialcharge_AccessorialCharge": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accessorialcharge.AccessorialCharge" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_accounttype_AccountType": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_accounttype.AccountType" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_billingqueue_BillingQueueItem": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillingQueueItem" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_carrier_Carrier": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_carrier.Carrier" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_commodity_Commodity": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_commodity.Commodity" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_customer_Customer": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customer.Customer" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_customfield_CustomFieldDefinition": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_customfield.CustomFieldDefinition" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_detention_DetentionOccurrence": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionOccurrence" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_detention_DetentionPolicy": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_distanceoverride_DistanceOverride": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_distanceoverride.DistanceOverride" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_document_Document": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_document.Document" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_documenttype_DocumentType": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_documenttype.DocumentType" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_dothazmatreference_DotHazmatReference": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_dothazmatreference.DotHazmatReference" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer_EquipmentManufacturer": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmentmanufacturer.EquipmentManufacturer" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_equipmenttype_EquipmentType": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_equipmenttype.EquipmentType" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_fiscalperiod_FiscalPeriod": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalperiod.FiscalPeriod" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_fiscalyear_FiscalYear": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fiscalyear.FiscalYear" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_fleetcode_FleetCode": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_fleetcode.FleetCode" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_formulatemplate_FormulaTemplate": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplate" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_formulatemplate_FormulaTemplateVersion": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_formulatemplate.FormulaTemplateVersion" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_glaccount_GLAccount": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_glaccount.GLAccount" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_hazardousmaterial_HazardousMaterial": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazardousmaterial.HazardousMaterial" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule_HazmatSegregationRule": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_hazmatsegregationrule.HazmatSegregationRule" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_holdreason_HoldReason": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_holdreason.HoldReason" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_invoice_Invoice": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoice.Invoice" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_invoicerun_InvoiceRun": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_invoicerun.InvoiceRun" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_location_Location": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_location.Location" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_locationcategory_LocationCategory": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_locationcategory.LocationCategory" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_permission_Role": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Role" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_permission_UserRoleAssignment": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.UserRoleAssignment" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_rateagreement_RateAgreement": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreement" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_rateagreement_RateAgreementVersion": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementVersion" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_rateimport_RateImportBatch": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateimport.RateImportBatch" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_rateimport_RateImportRow": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateimport.RateImportRow" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratematrix_DensityScale": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.DensityScale" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratematrix_RateMatrix": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrix" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratematrix_RateMatrixCell": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrixCell" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratequote_RateQuote": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.RateQuote" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratesimulation_RateSimulation": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratesimulation.RateSimulation" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratesimulation_RateSimulationResult": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratesimulation.RateSimulationResult" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_ratezone_RateZone": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratezone.RateZone" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_recurringshipment_RecurringShipment": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipment" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_recurringshipment_RecurringShipmentRun": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.RecurringShipmentRun" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_servicetype_ServiceType": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_servicetype.ServiceType" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_shipment_Assignment": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Assignment" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_shipment_ShipmentHold": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ShipmentHold" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_shipmenttype_ShipmentType": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipmenttype.ShipmentType" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_tenant_User": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tenant.User" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_tender_RoutingGuide": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.RoutingGuide" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_tractor_Tractor": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tractor.Tractor" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_trailer_Trailer": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_trailer.Trailer" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_usstate_UsState": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_usstate.UsState" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_domain_worker_Worker": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_worker.Worker" - } - } - } - }, - "github_com_emoss08_trenova_pkg_pagination.Response-array_github_com_emoss08_trenova_internal_core_ports_services_APIKeyResponse": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "next": { - "type": "string" - }, - "previous": { - "type": "string" - }, - "results": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.APIKeyResponse" - } - } - } - }, - "github_com_emoss08_trenova_pkg_rateimport.Change": { - "type": "object", - "properties": { - "existingId": { - "description": "ExistingID names the rule this would supersede, so a commit knows what to\nclose out. Absent on an added lane.", - "type": "string" - }, - "fields": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_rateimport.FieldChange" - } - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_rateimport.ChangeKind" - }, - "label": { - "type": "string" - }, - "laneKey": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_pkg_rateimport.ChangeKind": { - "type": "string", - "enum": [ - "Removed", - "Added", - "Changed", - "Duplicate", - "Unchanged" - ], - "x-enum-varnames": [ - "ChangeKindRemoved", - "ChangeKindAdded", - "ChangeKindChanged", - "ChangeKindDuplicate", - "ChangeKindUnchanged" - ] - }, - "github_com_emoss08_trenova_pkg_rateimport.FieldChange": { - "type": "object", - "properties": { - "after": { - "type": "string" - }, - "before": { - "type": "string" - }, - "field": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_pkg_rateimport.Summary": { - "type": "object", - "properties": { - "added": { - "type": "integer" - }, - "changed": { - "type": "integer" - }, - "duplicate": { - "type": "integer" - }, - "removed": { - "type": "integer" - }, - "unchanged": { - "type": "integer" - } - } - }, - "github_com_emoss08_trenova_pkg_ratesimulation.Summary": { - "type": "object", - "properties": { - "afterTotal": { - "type": "number" - }, - "beforeTotal": { - "type": "number" - }, - "changedCount": { - "type": "integer" - }, - "decreasedCount": { - "type": "integer" - }, - "errorCount": { - "type": "integer" - }, - "evaluatedCount": { - "type": "integer" - }, - "increasedCount": { - "type": "integer" - }, - "maxDecrease": { - "type": "number" - }, - "maxIncrease": { - "description": "MaxIncrease and MaxDecrease are the largest single moves in each\ndirection. They are what somebody scans for: the shipment that will\nproduce the phone call.", - "type": "number" - }, - "shipmentCount": { - "type": "integer" - }, - "totalDelta": { - "type": "number" - }, - "totalDeltaPct": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_pkg_ratetypes.Candidate": { - "type": "object", - "properties": { - "agreementCode": { - "type": "string" - }, - "agreementId": { - "type": "string" - }, - "agreementName": { - "type": "string" - }, - "agreementPriority": { - "type": "integer" - }, - "amount": { - "description": "Amount is filled in only where pricing the loser was worth the cost —\nrate shopping, and the \"what would this have charged\" view.", - "allOf": [ - { - "$ref": "#/definitions/decimal.NullDecimal" - } - ] - }, - "effectiveFrom": { - "type": "integer" - }, - "effectiveTo": { - "type": "integer" - }, - "laneKey": { - "type": "string" - }, - "matchedOn": { - "description": "MatchedOn lists what the rule matched the shipment on, in the same\nvocabulary mode profile provenance uses, so the two read alike.", - "type": "array", - "items": { - "type": "string" - } - }, - "rank": { - "type": "integer" - }, - "rejectDetail": { - "type": "string" - }, - "rejectReason": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.RejectReason" - }, - "ruleId": { - "type": "string" - }, - "ruleLabel": { - "type": "string" - }, - "rulePriority": { - "type": "integer" - }, - "specificityScore": { - "type": "integer" - }, - "won": { - "type": "boolean" - } - } - }, - "github_com_emoss08_trenova_pkg_ratetypes.Component": { - "type": "object", - "properties": { - "amount": { - "type": "number" - }, - "basis": { - "description": "Basis is the calculation in words — \"1,240.0 mi @ $2.15/mi\". It is what\ngoes on a dispute letter, so it is stored rather than reconstructed.", - "type": "string" - }, - "code": { - "type": "string" - }, - "detail": { - "description": "Detail carries whatever the step needs to be reproduced — the matrix cell\nkeys read, a weight break's bounds, a formula's resolved variables.", - "type": "object", - "additionalProperties": {} - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.ComponentKind" - }, - "label": { - "type": "string" - }, - "quantity": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "rate": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "runningTotal": { - "type": "number" - }, - "sequence": { - "type": "integer" - }, - "source": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.ComponentSource" - }, - "sourceId": { - "type": "string" - }, - "sourceName": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_pkg_ratetypes.ComponentKind": { - "type": "string", - "enum": [ - "Linehaul", - "WeightBreak", - "DeficitBump", - "Discount", - "AbsoluteMinCharge", - "MinimumCharge", - "MaximumCharge", - "DeficitDistance", - "Accessorial", - "FuelSurcharge", - "Detention", - "CurrencyConversion", - "Rounding", - "ManualOverride" - ], - "x-enum-varnames": [ - "ComponentKindLinehaul", - "ComponentKindWeightBreak", - "ComponentKindDeficitBump", - "ComponentKindDiscount", - "ComponentKindAbsoluteMinCharge", - "ComponentKindMinimumCharge", - "ComponentKindMaximumCharge", - "ComponentKindDeficitDistance", - "ComponentKindAccessorial", - "ComponentKindFuelSurcharge", - "ComponentKindDetention", - "ComponentKindCurrencyConversion", - "ComponentKindRounding", - "ComponentKindManualOverride" - ] - }, - "github_com_emoss08_trenova_pkg_ratetypes.ComponentSource": { - "type": "string", - "enum": [ - "AgreementRule", - "RateMatrix", - "FormulaTemplate", - "FuelProgram", - "DetentionPolicy", - "AccessorialSchedule", - "ExchangeRate", - "Manual" - ], - "x-enum-varnames": [ - "ComponentSourceAgreementRule", - "ComponentSourceRateMatrix", - "ComponentSourceFormulaTemplate", - "ComponentSourceFuelProgram", - "ComponentSourceDetentionPolicy", - "ComponentSourceAccessorialSchedule", - "ComponentSourceExchangeRate", - "ComponentSourceManual" - ] - }, - "github_com_emoss08_trenova_pkg_ratetypes.FXConversion": { - "type": "object", - "properties": { - "exchangeRateId": { - "type": "string" - }, - "fromCurrency": { - "type": "string" - }, - "rate": { - "type": "number" - }, - "rateDate": { - "type": "string" - }, - "toCurrency": { - "type": "string" - } - } - }, - "github_com_emoss08_trenova_pkg_ratetypes.Guardrail": { - "type": "object", - "properties": { - "applied": { - "type": "boolean" - }, - "bound": { - "type": "number" - }, - "kind": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.ComponentKind" - }, - "raw": { - "type": "number" - }, - "result": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_pkg_ratetypes.Inputs": { - "type": "object", - "properties": { - "commodityIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "cubicFeet": { - "type": "number" - }, - "densityPcf": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "destinationCity": { - "type": "string" - }, - "destinationLocationId": { - "type": "string" - }, - "destinationPostalCode": { - "type": "string" - }, - "destinationStateId": { - "type": "string" - }, - "destinationZoneIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "distance": { - "type": "number" - }, - "distanceSource": { - "type": "string" - }, - "equipmentClass": { - "type": "string" - }, - "freightClassSource": { - "type": "string" - }, - "freightClassUsed": { - "description": "FreightClassUsed and its provenance are recorded separately because a\nclass dispute is the most common LTL billing adjustment, and \"we measured\n8.2 pcf, which classifies as 92.5\" is the entire argument.", - "type": "string" - }, - "freightClasses": { - "type": "array", - "items": { - "type": "string" - } - }, - "hasHazmat": { - "type": "boolean" - }, - "linearFeet": { - "type": "number" - }, - "originCity": { - "type": "string" - }, - "originLocationId": { - "type": "string" - }, - "originPostalCode": { - "type": "string" - }, - "originStateId": { - "type": "string" - }, - "originZoneIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "partyId": { - "type": "string" - }, - "partyName": { - "type": "string" - }, - "partyType": { - "type": "string" - }, - "pieces": { - "type": "integer" - }, - "ratingDate": { - "type": "integer" - }, - "requiresTempControl": { - "type": "boolean" - }, - "serviceModel": { - "type": "string" - }, - "serviceTypeId": { - "type": "string" - }, - "shipmentTypeId": { - "type": "string" - }, - "stops": { - "type": "integer" - }, - "tractorTypeId": { - "type": "string" - }, - "trailerTypeId": { - "type": "string" - }, - "weekday": { - "type": "integer" - }, - "weight": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_pkg_ratetypes.MarginVerdict": { - "type": "object", - "properties": { - "abovePayCeiling": { - "description": "AbovePayCeiling means the carrier is being paid a larger share of the\nsell price than the buy side contract allows.", - "type": "boolean" - }, - "amount": { - "type": "number" - }, - "belowFloor": { - "type": "boolean" - }, - "ceilingApplies": { - "type": "boolean" - }, - "explanation": { - "description": "Explanation says what was breached and by how much, in the words the\nadvisory or the block will carry. Empty when nothing was breached.", - "type": "string" - }, - "floorApplies": { - "type": "boolean" - }, - "payPercent": { - "description": "PayPercent is the buy price as a share of the sell price.", - "type": "number" - }, - "percent": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_pkg_ratetypes.RejectReason": { - "type": "string", - "enum": [ - "", - "LaneMismatch", - "NotEffective", - "AgreementNotEffective", - "AgreementInactive", - "RuleInactive", - "ServiceTypeMismatch", - "ShipmentTypeMismatch", - "EquipmentMismatch", - "ServiceModelMismatch", - "CommodityMismatch", - "FreightClassMismatch", - "WeightOutOfRange", - "DistanceOutOfRange", - "StopsOutOfRange", - "DayOfWeekExcluded", - "HazmatRequired", - "TempControlRequired", - "OutsideRadius", - "LostOnPriority", - "LostOnSpecificity", - "LostOnEffectiveDate", - "LostOnTiebreak", - "PricingError" - ], - "x-enum-varnames": [ - "RejectReasonNone", - "RejectReasonLaneMismatch", - "RejectReasonNotEffective", - "RejectReasonAgreementNotEffective", - "RejectReasonAgreementInactive", - "RejectReasonRuleInactive", - "RejectReasonServiceTypeMismatch", - "RejectReasonShipmentTypeMismatch", - "RejectReasonEquipmentMismatch", - "RejectReasonServiceModelMismatch", - "RejectReasonCommodityMismatch", - "RejectReasonFreightClassMismatch", - "RejectReasonWeightOutOfRange", - "RejectReasonDistanceOutOfRange", - "RejectReasonStopsOutOfRange", - "RejectReasonDayOfWeekExcluded", - "RejectReasonHazmatRequired", - "RejectReasonTempControlRequired", - "RejectReasonOutsideRadius", - "RejectReasonLostOnPriority", - "RejectReasonLostOnSpecificity", - "RejectReasonLostOnEffectiveDate", - "RejectReasonLostOnTiebreak", - "RejectReasonPricingError" - ] - }, - "github_com_emoss08_trenova_pkg_ratetypes.RoundingMode": { - "type": "string", - "enum": [ - "HalfUp", - "HalfEven", - "Up", - "Down", - "None" - ], - "x-enum-varnames": [ - "RoundingModeHalfUp", - "RoundingModeHalfEven", - "RoundingModeUp", - "RoundingModeDown", - "RoundingModeNone" - ] - }, - "github_com_emoss08_trenova_pkg_ratetypes.Totals": { - "type": "object", - "properties": { - "accessorial": { - "type": "number" - }, - "cost": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "fuel": { - "type": "number" - }, - "linehaul": { - "type": "number" - }, - "margin": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "marginPercent": { - "$ref": "#/definitions/decimal.NullDecimal" - }, - "total": { - "type": "number" - } - } - }, - "github_com_emoss08_trenova_pkg_ratetypes.Trace": { - "type": "object", - "properties": { - "candidateCount": { - "description": "CandidateCount is how many rules the database returned, which can exceed\nthe recorded candidates when the fetch was capped.", - "type": "integer" - }, - "candidates": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.Candidate" - } - }, - "components": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.Component" - } - }, - "engineVersion": { - "description": "EngineVersion is bumped whenever the scoring or pricing arithmetic\nchanges, which is what separates \"the inputs moved\" from \"we changed how\nwe compute this\" when two runs disagree.", - "type": "string" - }, - "error": { - "type": "string" - }, - "fx": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.FXConversion" - }, - "guardrails": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.Guardrail" - } - }, - "inputs": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.Inputs" - }, - "laneKeysTried": { - "description": "LaneKeysTried is what the shipment was looked up under. When nothing\nmatched, this is the answer to \"why not\" — the contract simply has no\nrule keyed to any of these.", - "type": "array", - "items": { - "type": "string" - } - }, - "tieBreak": { - "description": "TieBreak names the ordering step that actually separated the winner from\nthe runner up.", - "type": "string" - }, - "totals": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_ratetypes.Totals" - }, - "warnings": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "internal_api_handlers_assignmenthandler.upsertAssignmentRequest": { - "type": "object", - "properties": { - "primaryWorkerId": { - "type": "string" - }, - "secondaryWorkerId": { - "type": "string" - }, - "tractorId": { - "type": "string" - }, - "trailerId": { - "type": "string" - } - } - }, - "internal_api_handlers_billingqueuehandler.assignRequest": { - "type": "object", - "required": [ - "billerId" - ], - "properties": { - "billerId": { - "type": "string" - } - } - }, - "internal_api_handlers_billingqueuehandler.filterPresetRequest": { - "type": "object", - "required": [ - "filters", - "name" - ], - "properties": { - "filters": { - "type": "object", - "additionalProperties": {} - }, - "isDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - } - } - }, - "internal_api_handlers_billingqueuehandler.reassignChargeRequest": { - "type": "object", - "properties": { - "additionalChargeId": { - "type": "string" - }, - "allocations": { - "description": "Allocations divide the charge among payers. An empty list gives it back\nwhole to the shipment's payer.", - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocation" - } - }, - "chargeKind": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.ChargeAllocationKind" - } - } - }, - "internal_api_handlers_billingqueuehandler.transferRequest": { - "type": "object", - "required": [ - "shipmentId" - ], - "properties": { - "billType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.BillType" - }, - "shipmentId": { - "type": "string" - } - } - }, - "internal_api_handlers_billingqueuehandler.updateChargesRequest": { - "type": "object", - "properties": { - "additionalCharges": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.AdditionalCharge" - } - }, - "baseRate": { - "type": "string" - }, - "convertAmountSplitsToPercent": { - "description": "ConvertAmountSplitsToPercent retries an edit that was refused because it\nleft an amount split that no longer adds up.", - "type": "boolean" - }, - "formulaTemplateId": { - "type": "string" - } - } - }, - "internal_api_handlers_billingqueuehandler.updateStatusRequest": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "cancelReason": { - "type": "string" - }, - "exceptionNotes": { - "type": "string" - }, - "exceptionReasonCode": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.ExceptionReasonCode" - }, - "reviewNotes": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_billingqueue.Status" - } - } - }, - "internal_api_handlers_carrierassignmenthandler.cancelCarrierAssignmentBody": { - "type": "object", - "properties": { - "reason": { - "type": "string" - } - } - }, - "internal_api_handlers_detentionhandler.disputeRequest": { - "type": "object", - "required": [ - "note" - ], - "properties": { - "note": { - "type": "string" - } - } - }, - "internal_api_handlers_detentionhandler.waiveRequest": { - "type": "object", - "required": [ - "reason" - ], - "properties": { - "note": { - "type": "string" - }, - "reason": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.WaiverReason" - } - } - }, - "internal_api_handlers_detentionpolicyhandler.previewRequest": { - "type": "object", - "required": [ - "policy", - "scenario" - ], - "properties": { - "policy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_detention.DetentionPolicy" - }, - "scenario": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_services_detentionservice.PreviewScenario" - } - } - }, - "internal_api_handlers_documenthandler.bulkDeleteRequest": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "minItems": 1, - "items": { - "type": "string" - } - } - } - }, - "internal_api_handlers_driverportalhandler.acceptInvitationRequest": { - "type": "object", - "required": [ - "password", - "token" - ], - "properties": { - "password": { - "type": "string" - }, - "timezone": { - "type": "string" - }, - "token": { - "type": "string" - } - } - }, - "internal_api_handlers_fiscalperiodhandler.reopenFiscalPeriodPayload": { - "type": "object", - "properties": { - "reopenReason": { - "type": "string" - } - } - }, - "internal_api_handlers_fiscalyearhandler.reopenFiscalYearPayload": { - "type": "object", - "properties": { - "reopenReason": { - "type": "string" - } - } - }, - "internal_api_handlers_formulatemplatehandler.approvalActionRequest": { - "type": "object", - "properties": { - "comment": { - "type": "string" - } - } - }, - "internal_api_handlers_formulatemplatehandler.approvalImpactRequest": { - "type": "object", - "properties": { - "limit": { - "type": "integer" - } - } - }, - "internal_api_handlers_formulatemplatehandler.backtestRequest": { - "type": "object", - "properties": { - "expression": { - "type": "string" - }, - "limit": { - "type": "integer" - }, - "versionNumber": { - "type": "integer" - } - } - }, - "internal_api_handlers_formulatemplatehandler.createVersionRequest": { - "type": "object", - "properties": { - "changeMessage": { - "type": "string" - } - } - }, - "internal_api_handlers_formulatemplatehandler.forkRequest": { - "type": "object", - "properties": { - "changeMessage": { - "type": "string" - }, - "newName": { - "type": "string" - }, - "sourceVersion": { - "type": "integer" - } - } - }, - "internal_api_handlers_formulatemplatehandler.rollbackRequest": { - "type": "object", - "properties": { - "changeMessage": { - "type": "string" - }, - "targetVersion": { - "type": "integer" - } - } - }, - "internal_api_handlers_formulatemplatehandler.testExpressionRequest": { - "type": "object", - "properties": { - "breakdowns": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_formulatypes.BreakdownDefinition" - } - }, - "expression": { - "type": "string" - }, - "maxCharge": { - "type": "string" - }, - "minCharge": { - "type": "string" - }, - "roundingMode": { - "description": "RoundingMode and RoundingPrecision are the charge policy under test;\nomitted means the default the template would store.", - "type": "string" - }, - "roundingPrecision": { - "type": "integer" - }, - "schemaId": { - "type": "string" - }, - "shipmentId": { - "type": "string" - }, - "variables": { - "type": "object", - "additionalProperties": {} - } - } - }, - "internal_api_handlers_formulatemplatehandler.updateEffectiveDateRequest": { - "type": "object", - "properties": { - "effectiveFrom": { - "type": "integer" - } - } - }, - "internal_api_handlers_formulatemplatehandler.updateVersionTagsRequest": { - "type": "object", - "properties": { - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "internal_api_handlers_invoicerunhandler.billStatementRequest": { - "type": "object", - "properties": { - "exclude": { - "type": "array", - "items": { - "$ref": "#/definitions/internal_api_handlers_invoicerunhandler.statementExclusionRequest" - } - }, - "reason": { - "type": "string" - } - } - }, - "internal_api_handlers_invoicerunhandler.cancelRequest": { - "type": "object", - "properties": { - "reason": { - "type": "string" - } - } - }, - "internal_api_handlers_invoicerunhandler.exclusionRequest": { - "type": "object", - "properties": { - "itemId": { - "type": "string" - }, - "reason": { - "type": "string" - } - } - }, - "internal_api_handlers_invoicerunhandler.membershipRequest": { - "type": "object", - "properties": { - "exclude": { - "type": "array", - "items": { - "$ref": "#/definitions/internal_api_handlers_invoicerunhandler.exclusionRequest" - } - }, - "include": { - "type": "array", - "items": { - "type": "string" - } - }, - "moves": { - "type": "array", - "items": { - "$ref": "#/definitions/internal_api_handlers_invoicerunhandler.moveRequest" - } - } - } - }, - "internal_api_handlers_invoicerunhandler.moveRequest": { - "type": "object", - "properties": { - "itemId": { - "type": "string" - }, - "targetGroupId": { - "type": "string" - } - } - }, - "internal_api_handlers_invoicerunhandler.previewRequest": { - "type": "object", - "properties": { - "customerIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "invoiceDate": { - "type": "integer" - }, - "periodEnd": { - "type": "integer" - }, - "periodStart": { - "type": "integer" - } - } - }, - "internal_api_handlers_invoicerunhandler.statementExclusionRequest": { - "type": "object", - "properties": { - "billingQueueItemId": { - "type": "string" - }, - "reason": { - "type": "string" - } - } - }, - "internal_api_handlers_jurisdictionrulehandler.verifyBody": { - "type": "object", - "properties": { - "sourceNote": { - "type": "string" - }, - "sourceUrl": { - "type": "string" - }, - "verificationState": { - "type": "string" - } - } - }, - "internal_api_handlers_pagefavoritehandler.toggleRequest": { - "type": "object", - "required": [ - "pageTitle", - "pageUrl" - ], - "properties": { - "pageTitle": { - "type": "string" - }, - "pageUrl": { - "type": "string" - } - } - }, - "internal_api_handlers_permissionhandler.batchCheckRequest": { - "type": "object", - "properties": { - "checks": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operation": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Operation" - }, - "resource": { - "type": "string" - } - } - } - } - } - }, - "internal_api_handlers_permissionhandler.resourceCategoryResponse": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "resources": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.ResourceDefinition" - } - } - } - }, - "internal_api_handlers_permithandler.waiveRequirementBody": { - "type": "object", - "properties": { - "reason": { - "type": "string" - } - } - }, - "internal_api_handlers_pushhandler.publicKeyResponse": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "publicKey": { - "type": "string" - } - } - }, - "internal_api_handlers_pushhandler.subscribeRequest": { - "type": "object", - "required": [ - "auth", - "endpoint", - "p256dh" - ], - "properties": { - "auth": { - "type": "string" - }, - "endpoint": { - "type": "string" - }, - "p256dh": { - "type": "string" - } - } - }, - "internal_api_handlers_rateagreementhandler.amendRulesRequest": { - "type": "object", - "properties": { - "effectiveFrom": { - "type": "integer" - }, - "rules": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.RateAgreementRule" - } - }, - "supersededIds": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "internal_api_handlers_rateconfirmationhandler.confirmRequest": { - "type": "object", - "properties": { - "confirmedByName": { - "type": "string" - } - } - }, - "internal_api_handlers_rateconfirmationhandler.voidRequest": { - "type": "object", - "properties": { - "reason": { - "type": "string" - } - } - }, - "internal_api_handlers_rateimporthandler.TemplateResponse": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "fileName": { - "type": "string" - } - } - }, - "internal_api_handlers_ratematrixhandler.replaceCellsRequest": { - "type": "object", - "properties": { - "cells": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratematrix.RateMatrixCell" - } - } - } - }, - "internal_api_handlers_ratequotehandler.explainRequest": { - "type": "object", - "properties": { - "asOf": { - "description": "AsOf re-resolves against the terms effective on that date. Omit it to\nreproduce the shipment's current rate.", - "type": "integer" - }, - "partyId": { - "type": "string" - }, - "partyType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.PartyType" - } - } - }, - "internal_api_handlers_ratequotehandler.quoteRequest": { - "type": "object", - "required": [ - "shipment" - ], - "properties": { - "asOf": { - "type": "integer" - }, - "partyId": { - "type": "string" - }, - "partyType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.PartyType" - }, - "persist": { - "description": "Persist keeps the quote so it can be cited when the load is booked. A\nscreen re-pricing on every keystroke leaves it off.", - "type": "boolean" - }, - "shipment": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_shipment.Shipment" - } - } - }, - "internal_api_handlers_ratequotehandler.ratedShipment": { - "type": "object", - "properties": { - "agreementId": { - "description": "Agreement and Rule are set when a contract priced the shipment, so the\ncaller can stamp them on it without re-reading the quote.", - "type": "string" - }, - "amount": { - "description": "Amount is the linehaul, in the organization's billing currency. Fuel and\naccessorials are added by the caller that owns them.", - "type": "number" - }, - "baseRate": { - "description": "BaseRate is the per-unit rate the template was priced with — the lane\nrate on the rule, or the value in the matrix cell that matched.\n\nIt is what lets a contract's answer be seated on a shipment as its own\nrating method plus its own base rate, rather than as a total nobody can\nre-derive. A rule that binds no rate leaves this unset, and the\nshipment's existing base rate stands.", - "allOf": [ - { - "$ref": "#/definitions/decimal.NullDecimal" - } - ] - }, - "billToCustomerId": { - "description": "BillToCustomerID is the payer the agreement redirects invoicing to, when\nit names one; the shipment adopts it unless it already has its own.", - "type": "string" - }, - "currency": { - "type": "string" - }, - "formulaTemplateId": { - "description": "FormulaTemplateID is set when the rule delegated to a formula, or when\nthe rating fell back to one because no agreement covered the lane.", - "type": "string" - }, - "outcome": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.Outcome" - }, - "quote": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_ratequote.RateQuote" - }, - "ruleId": { - "type": "string" - } - } - }, - "internal_api_handlers_ratequotehandler.shopRequest": { - "type": "object", - "properties": { - "asOf": { - "type": "integer" - }, - "carrierIds": { - "description": "CarrierIDs is an explicit shortlist. Left empty the shipment's routing\nguide supplies the candidates, which is the ordinary case.", - "type": "array", - "items": { - "type": "string" - } - }, - "limit": { - "type": "integer" - }, - "persist": { - "description": "Persist keeps each option's quote, so the carrier that was picked and the\nones that were not are both answerable later. A screen browsing options\nleaves it off.", - "type": "boolean" - }, - "strategy": { - "description": "Strategy is what \"best\" means for this run. Left empty it is least cost,\nwhich is what somebody shopping without saying what they meant is asking.", - "allOf": [ - { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShopStrategy" - } - ] - } - } - }, - "internal_api_handlers_ratequotehandler.shopResult": { - "type": "object", - "properties": { - "options": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShopOption" - } - }, - "routingGuideId": { - "description": "RoutingGuideID names the guide the candidates came from, absent when the\ncaller supplied its own shortlist or no guide covered the lane.", - "type": "string" - }, - "sellTotal": { - "description": "SellTotal is the number margin was measured against, echoed back so a\nstored result explains itself.", - "allOf": [ - { - "$ref": "#/definitions/decimal.NullDecimal" - } - ] - }, - "strategy": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_services.ShopStrategy" - }, - "warnings": { - "description": "Warnings covers what the caller should know but that did not stop the\nshopping: carriers with no contract, a guide that matched nothing.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "internal_api_handlers_ratesimulationhandler.createRequest": { - "type": "object", - "required": [ - "name", - "rateAgreementId", - "sampleFrom", - "sampleTo" - ], - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "partyType": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_rateagreement.PartyType" - }, - "rateAgreementId": { - "type": "string" - }, - "sampleFrom": { - "type": "integer" - }, - "sampleLimit": { - "type": "integer" - }, - "sampleTo": { - "type": "integer" - } - } - }, - "internal_api_handlers_recurringshipmenthandler.generateRequest": { - "type": "object", - "properties": { - "occurrenceAt": { - "type": "integer" - } - } - }, - "internal_api_handlers_recurringshipmenthandler.updateStatusRequest": { - "type": "object", - "properties": { - "status": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_recurringshipment.Status" - }, - "version": { - "type": "integer" - } - } - }, - "internal_api_handlers_rolehandler.AddPermissionRequest": { - "type": "object", - "required": [ - "dataScope", - "operations", - "resource" - ], - "properties": { - "dataScope": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.DataScope" - }, - "operations": { - "type": "array", - "items": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_permission.Operation" - } - }, - "resource": { - "type": "string" - } - } - }, - "internal_api_handlers_rolehandler.AssignRoleRequest": { - "type": "object", - "required": [ - "userId" - ], - "properties": { - "expiresAt": { - "type": "integer" - }, - "userId": { - "type": "string" - } - } - }, - "internal_api_handlers_shipmenthandler.shipmentCommentCountResponse": { - "type": "object", - "properties": { - "count": { - "type": "integer" - } - } - }, - "internal_api_handlers_shipmentmovehandler.bulkUpdateStatusRequest": { - "type": "object", - "properties": { - "moveIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "type": "string" - } - } - }, - "internal_api_handlers_shipmentmovehandler.recordStopActualRequest": { - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "occurredAt": { - "type": "integer" - } - } - }, - "internal_api_handlers_shipmentmovehandler.splitMoveRequest": { - "type": "object", - "properties": { - "newDeliveryLocationId": { - "type": "string" - }, - "newDeliveryTimes": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.SplitStopTimes" - }, - "pieces": { - "type": "integer" - }, - "splitPickupTimes": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_ports_repositories.SplitStopTimes" - }, - "weight": { - "type": "integer" - } - } - }, - "internal_api_handlers_shipmentmovehandler.updateStatusRequest": { - "type": "object", - "properties": { - "status": { - "type": "string" - } - } - }, - "internal_api_handlers_tenderhandler.recordResponseRequest": { - "type": "object", - "properties": { - "action": { - "$ref": "#/definitions/github_com_emoss08_trenova_internal_core_domain_tender.ResponseAction" - }, - "declineReason": { - "type": "string" - } - } - }, - "internal_api_handlers_userhandler.ChangeMyPasswordRequest": { - "type": "object", - "properties": { - "confirmPassword": { - "type": "string" - }, - "currentPassword": { - "type": "string" - }, - "newPassword": { - "type": "string" - } - } - }, - "internal_api_handlers_userhandler.ProfilePictureURLResponse": { - "type": "object", - "properties": { - "url": { - "type": "string" - } - } - }, - "internal_api_handlers_userhandler.ReplaceOrganizationMembershipsRequest": { - "type": "object", - "properties": { - "organizationIds": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "internal_api_handlers_userhandler.SimulatePermissionsRequest": { - "type": "object", - "properties": { - "addRoleIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "removeRoleIds": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "internal_api_handlers_userhandler.SwitchOrganizationRequest": { - "type": "object", - "required": [ - "organizationId" - ], - "properties": { - "organizationId": { - "type": "string" - } - } - }, - "internal_api_handlers_userhandler.UpdateMySettingsRequest": { - "type": "object", - "properties": { - "locale": { - "type": "string" - }, - "timeFormat": { - "$ref": "#/definitions/github_com_emoss08_trenova_pkg_domaintypes.TimeFormat" - }, - "timezone": { - "type": "string" - } - } - }, - "jsonutils.ChangeType": { - "type": "string", - "enum": [ - "created", - "updated", - "deleted" - ], - "x-enum-varnames": [ - "ChangeTypeCreated", - "ChangeTypeUpdated", - "ChangeTypeDeleted" - ] - }, - "jsonutils.FieldChange": { - "type": "object", - "properties": { - "fieldType": { - "$ref": "#/definitions/jsonutils.FieldType" - }, - "from": {}, - "path": { - "type": "string" - }, - "to": {}, - "type": { - "$ref": "#/definitions/jsonutils.ChangeType" - } - } - }, - "jsonutils.FieldType": { - "type": "string", - "enum": [ - "string", - "number", - "boolean", - "array", - "object", - "datetime", - "null", - "undefined" - ], - "x-enum-varnames": [ - "FieldTypeString", - "FieldTypeNumber", - "FieldTypeBoolean", - "FieldTypeArray", - "FieldTypeObject", - "FieldTypeDateTime", - "FieldTypeNull", - "FieldTypeUndefined" - ] - } - }, - "securityDefinitions": { - "BearerAuth": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - } -}` - -// SwaggerInfo holds exported Swagger Info so clients can modify it -var SwaggerInfo = &swag.Spec{ - Version: "1.0", - Host: "", - BasePath: "/api/v1", - Schemes: []string{}, - Title: "Trenova TMS API", - Description: "API documentation for Trenova TMS. Protected routes accept either a Bearer token in the Authorization header or an authenticated session cookie.", - InfoInstanceName: "swagger", - SwaggerTemplate: docTemplate, - LeftDelim: "{{", - RightDelim: "}}", -} - -func init() { - swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) -}