diff --git a/migrations/app/migrations_manifest.txt b/migrations/app/migrations_manifest.txt index 62a07c54465..2eaef4d57a5 100644 --- a/migrations/app/migrations_manifest.txt +++ b/migrations/app/migrations_manifest.txt @@ -1071,4 +1071,7 @@ 20241230190647_add_missing_AK_zips_to_zip3_distances.up.sql 20250103130619_revert_data_change_for_gbloc_for_ak.up.sql 20250103180420_update_pricing_proc_to_use_local_price_variable.up.sql +20250106153750_admin_weight_restriction.up.sql +20250106190758_admin_weight_restriction_convert_bool.up.sql +20250107184554_add_weight_restriction.up.sql 20250110153428_add_shipment_address_updates_to_move_history.up.sql diff --git a/migrations/app/schema/20250106153750_admin_weight_restriction.up.sql b/migrations/app/schema/20250106153750_admin_weight_restriction.up.sql new file mode 100644 index 00000000000..d5f248d8237 --- /dev/null +++ b/migrations/app/schema/20250106153750_admin_weight_restriction.up.sql @@ -0,0 +1,2 @@ +ALTER TABLE entitlements +ADD COLUMN IF NOT EXISTS admin_restricted_weight_location BOOLEAN; diff --git a/migrations/app/schema/20250106190758_admin_weight_restriction_convert_bool.up.sql b/migrations/app/schema/20250106190758_admin_weight_restriction_convert_bool.up.sql new file mode 100644 index 00000000000..f8f923c0ae7 --- /dev/null +++ b/migrations/app/schema/20250106190758_admin_weight_restriction_convert_bool.up.sql @@ -0,0 +1,4 @@ +ALTER TABLE entitlements + ALTER COLUMN admin_restricted_weight_location TYPE boolean USING (COALESCE(admin_restricted_weight_location, false)), + ALTER COLUMN admin_restricted_weight_location SET DEFAULT false, + ALTER COLUMN admin_restricted_weight_location SET NOT NULL; \ No newline at end of file diff --git a/migrations/app/schema/20250107184554_add_weight_restriction.up.sql b/migrations/app/schema/20250107184554_add_weight_restriction.up.sql new file mode 100644 index 00000000000..13166af20ee --- /dev/null +++ b/migrations/app/schema/20250107184554_add_weight_restriction.up.sql @@ -0,0 +1,4 @@ +ALTER TABLE entitlements +ADD column IF NOT EXISTS weight_restriction int; + +COMMENT ON COLUMN entitlements.weight_restriction IS 'The weight restricted on the move to a particular location'; diff --git a/pkg/factory/entitlement_factory.go b/pkg/factory/entitlement_factory.go index 235fdaf3be6..02b2983c45d 100644 --- a/pkg/factory/entitlement_factory.go +++ b/pkg/factory/entitlement_factory.go @@ -47,6 +47,7 @@ func BuildEntitlement(db *pop.Connection, customs []Customization, traits []Trai proGearWeight := 2000 proGearWeightSpouse := 500 ordersType := internalmessages.OrdersTypePERMANENTCHANGEOFSTATION + weightRestriction := 0 // Create default Entitlement entitlement := models.Entitlement{ @@ -59,6 +60,8 @@ func BuildEntitlement(db *pop.Connection, customs []Customization, traits []Trai ProGearWeightSpouse: proGearWeightSpouse, RequiredMedicalEquipmentWeight: rmeWeight, OrganizationalClothingAndIndividualEquipment: ocie, + AdminRestrictedWeightLocation: setBoolPtr(cEntitlement.AdminRestrictedWeightLocation, false), + WeightRestriction: &weightRestriction, } // Set default calculated values entitlement.SetWeightAllotment(string(*grade), ordersType) @@ -73,4 +76,5 @@ func BuildEntitlement(db *pop.Connection, customs []Customization, traits []Trai } return entitlement + } diff --git a/pkg/gen/ghcapi/embedded_spec.go b/pkg/gen/ghcapi/embedded_spec.go index f041dfee462..7be8690ecf0 100644 --- a/pkg/gen/ghcapi/embedded_spec.go +++ b/pkg/gen/ghcapi/embedded_spec.go @@ -7218,6 +7218,11 @@ func init() { "x-nullable": true, "example": true }, + "adminRestrictedWeightLocation": { + "description": "Indicates if the customer is restricted to a specific location for their admin restricted weight.", + "type": "boolean", + "x-nullable": true + }, "agency": { "$ref": "#/definitions/Affiliation" }, @@ -7280,6 +7285,13 @@ func init() { "type": "integer", "x-nullable": true, "example": 500 + }, + "weightRestriction": { + "description": "unit is in lbs", + "type": "integer", + "x-formatting": "weight", + "x-nullable": true, + "example": 1500 } } }, @@ -8410,6 +8422,10 @@ func init() { "x-nullable": true, "example": true }, + "adminRestrictedWeightLocation": { + "type": "boolean", + "example": false + }, "authorizedWeight": { "type": "integer", "x-formatting": "weight", @@ -8493,6 +8509,11 @@ func init() { "type": "integer", "x-nullable": true, "example": 3 + }, + "weightRestriction": { + "description": "The amount of weight in pounds that the move is restricted to for a particular location.", + "type": "integer", + "example": 1500 } } }, @@ -14292,6 +14313,11 @@ func init() { "x-nullable": true, "example": true }, + "adminRestrictedWeightLocation": { + "description": "Indicates if the customer is restricted to a specific location for their admin restricted weight.", + "type": "boolean", + "x-nullable": true + }, "agency": { "$ref": "#/definitions/Affiliation" }, @@ -14354,6 +14380,10 @@ func init() { "type": "integer", "x-nullable": true, "example": 500 + }, + "weightRestriction": { + "type": "integer", + "example": 1500 } } }, @@ -24490,6 +24520,11 @@ func init() { "x-nullable": true, "example": true }, + "adminRestrictedWeightLocation": { + "description": "Indicates if the customer is restricted to a specific location for their admin restricted weight.", + "type": "boolean", + "x-nullable": true + }, "agency": { "$ref": "#/definitions/Affiliation" }, @@ -24556,6 +24591,13 @@ func init() { "type": "integer", "x-nullable": true, "example": 500 + }, + "weightRestriction": { + "description": "unit is in lbs", + "type": "integer", + "x-formatting": "weight", + "x-nullable": true, + "example": 1500 } } }, @@ -25686,6 +25728,10 @@ func init() { "x-nullable": true, "example": true }, + "adminRestrictedWeightLocation": { + "type": "boolean", + "example": false + }, "authorizedWeight": { "type": "integer", "x-formatting": "weight", @@ -25769,6 +25815,11 @@ func init() { "type": "integer", "x-nullable": true, "example": 3 + }, + "weightRestriction": { + "description": "The amount of weight in pounds that the move is restricted to for a particular location.", + "type": "integer", + "example": 1500 } } }, @@ -31696,6 +31747,11 @@ func init() { "x-nullable": true, "example": true }, + "adminRestrictedWeightLocation": { + "description": "Indicates if the customer is restricted to a specific location for their admin restricted weight.", + "type": "boolean", + "x-nullable": true + }, "agency": { "$ref": "#/definitions/Affiliation" }, @@ -31762,6 +31818,10 @@ func init() { "type": "integer", "x-nullable": true, "example": 500 + }, + "weightRestriction": { + "type": "integer", + "example": 1500 } } }, diff --git a/pkg/gen/ghcmessages/counseling_update_allowance_payload.go b/pkg/gen/ghcmessages/counseling_update_allowance_payload.go index d6bed9fac0c..78fa59fa9fb 100644 --- a/pkg/gen/ghcmessages/counseling_update_allowance_payload.go +++ b/pkg/gen/ghcmessages/counseling_update_allowance_payload.go @@ -23,6 +23,9 @@ type CounselingUpdateAllowancePayload struct { // Example: true AccompaniedTour *bool `json:"accompaniedTour,omitempty"` + // Indicates if the customer is restricted to a specific location for their admin restricted weight. + AdminRestrictedWeightLocation *bool `json:"adminRestrictedWeightLocation,omitempty"` + // agency Agency *Affiliation `json:"agency,omitempty"` @@ -70,6 +73,10 @@ type CounselingUpdateAllowancePayload struct { // ub allowance // Example: 500 UbAllowance *int64 `json:"ubAllowance,omitempty"` + + // unit is in lbs + // Example: 1500 + WeightRestriction *int64 `json:"weightRestriction,omitempty"` } // Validate validates this counseling update allowance payload diff --git a/pkg/gen/ghcmessages/entitlements.go b/pkg/gen/ghcmessages/entitlements.go index 2ee15f3d03a..bc8ab2aad65 100644 --- a/pkg/gen/ghcmessages/entitlements.go +++ b/pkg/gen/ghcmessages/entitlements.go @@ -23,6 +23,10 @@ type Entitlements struct { // Example: true AccompaniedTour *bool `json:"accompaniedTour,omitempty"` + // admin restricted weight location + // Example: false + AdminRestrictedWeightLocation bool `json:"adminRestrictedWeightLocation,omitempty"` + // authorized weight // Example: 2000 AuthorizedWeight *int64 `json:"authorizedWeight,omitempty"` @@ -90,6 +94,10 @@ type Entitlements struct { // The amount of weight in pounds that the move is entitled for shipment types of Unaccompanied Baggage. // Example: 3 UnaccompaniedBaggageAllowance *int64 `json:"unaccompaniedBaggageAllowance,omitempty"` + + // The amount of weight in pounds that the move is restricted to for a particular location. + // Example: 1500 + WeightRestriction int64 `json:"weightRestriction,omitempty"` } // Validate validates this entitlements diff --git a/pkg/gen/ghcmessages/update_allowance_payload.go b/pkg/gen/ghcmessages/update_allowance_payload.go index ee0d677c0e7..391b664a827 100644 --- a/pkg/gen/ghcmessages/update_allowance_payload.go +++ b/pkg/gen/ghcmessages/update_allowance_payload.go @@ -23,6 +23,9 @@ type UpdateAllowancePayload struct { // Example: true AccompaniedTour *bool `json:"accompaniedTour,omitempty"` + // Indicates if the customer is restricted to a specific location for their admin restricted weight. + AdminRestrictedWeightLocation *bool `json:"adminRestrictedWeightLocation,omitempty"` + // agency Agency *Affiliation `json:"agency,omitempty"` @@ -70,6 +73,10 @@ type UpdateAllowancePayload struct { // ub allowance // Example: 500 UbAllowance *int64 `json:"ubAllowance,omitempty"` + + // weight restriction + // Example: 1500 + WeightRestriction int64 `json:"weightRestriction,omitempty"` } // Validate validates this update allowance payload diff --git a/pkg/gen/primeapi/embedded_spec.go b/pkg/gen/primeapi/embedded_spec.go index 5f3561c66d6..74da571ecb6 100644 --- a/pkg/gen/primeapi/embedded_spec.go +++ b/pkg/gen/primeapi/embedded_spec.go @@ -1735,6 +1735,10 @@ func init() { "Entitlements": { "type": "object", "properties": { + "adminRestrictedWeightLocation": { + "type": "boolean", + "example": false + }, "authorizedWeight": { "type": "integer", "x-formatting": "weight", @@ -1806,6 +1810,11 @@ func init() { "type": "integer", "x-nullable": true, "example": 3 + }, + "weightRestriction": { + "type": "integer", + "x-formatting": "weight", + "example": 1500 } } }, @@ -6684,6 +6693,10 @@ func init() { "Entitlements": { "type": "object", "properties": { + "adminRestrictedWeightLocation": { + "type": "boolean", + "example": false + }, "authorizedWeight": { "type": "integer", "x-formatting": "weight", @@ -6755,6 +6768,11 @@ func init() { "type": "integer", "x-nullable": true, "example": 3 + }, + "weightRestriction": { + "type": "integer", + "x-formatting": "weight", + "example": 1500 } } }, diff --git a/pkg/gen/primemessages/entitlements.go b/pkg/gen/primemessages/entitlements.go index c51ada24273..f414734eb5d 100644 --- a/pkg/gen/primemessages/entitlements.go +++ b/pkg/gen/primemessages/entitlements.go @@ -19,6 +19,10 @@ import ( // swagger:model Entitlements type Entitlements struct { + // admin restricted weight location + // Example: false + AdminRestrictedWeightLocation bool `json:"adminRestrictedWeightLocation,omitempty"` + // authorized weight // Example: 2000 AuthorizedWeight *int64 `json:"authorizedWeight,omitempty"` @@ -79,6 +83,10 @@ type Entitlements struct { // The amount of weight in pounds that the move is entitled for shipment types of Unaccompanied Baggage. // Example: 3 UnaccompaniedBaggageAllowance *int64 `json:"unaccompaniedBaggageAllowance,omitempty"` + + // weight restriction + // Example: 1500 + WeightRestriction int64 `json:"weightRestriction,omitempty"` } // Validate validates this entitlements diff --git a/pkg/gen/primev2api/embedded_spec.go b/pkg/gen/primev2api/embedded_spec.go index 74ee52d88c1..5ca8db9e522 100644 --- a/pkg/gen/primev2api/embedded_spec.go +++ b/pkg/gen/primev2api/embedded_spec.go @@ -971,6 +971,10 @@ func init() { "Entitlements": { "type": "object", "properties": { + "adminRestrictedWeightLocation": { + "type": "boolean", + "example": false + }, "authorizedWeight": { "type": "integer", "x-formatting": "weight", @@ -1042,6 +1046,11 @@ func init() { "type": "integer", "x-nullable": true, "example": 3 + }, + "weightRestriction": { + "type": "integer", + "x-formatting": "weight", + "example": 1500 } } }, @@ -4607,6 +4616,10 @@ func init() { "Entitlements": { "type": "object", "properties": { + "adminRestrictedWeightLocation": { + "type": "boolean", + "example": false + }, "authorizedWeight": { "type": "integer", "x-formatting": "weight", @@ -4678,6 +4691,11 @@ func init() { "type": "integer", "x-nullable": true, "example": 3 + }, + "weightRestriction": { + "type": "integer", + "x-formatting": "weight", + "example": 1500 } } }, diff --git a/pkg/gen/primev2messages/entitlements.go b/pkg/gen/primev2messages/entitlements.go index e29d3f733e3..20bcf683c79 100644 --- a/pkg/gen/primev2messages/entitlements.go +++ b/pkg/gen/primev2messages/entitlements.go @@ -19,6 +19,10 @@ import ( // swagger:model Entitlements type Entitlements struct { + // admin restricted weight location + // Example: false + AdminRestrictedWeightLocation bool `json:"adminRestrictedWeightLocation,omitempty"` + // authorized weight // Example: 2000 AuthorizedWeight *int64 `json:"authorizedWeight,omitempty"` @@ -79,6 +83,10 @@ type Entitlements struct { // The amount of weight in pounds that the move is entitled for shipment types of Unaccompanied Baggage. // Example: 3 UnaccompaniedBaggageAllowance *int64 `json:"unaccompaniedBaggageAllowance,omitempty"` + + // weight restriction + // Example: 1500 + WeightRestriction int64 `json:"weightRestriction,omitempty"` } // Validate validates this entitlements diff --git a/pkg/gen/primev3api/embedded_spec.go b/pkg/gen/primev3api/embedded_spec.go index b35aaf504b1..f64858fa9c8 100644 --- a/pkg/gen/primev3api/embedded_spec.go +++ b/pkg/gen/primev3api/embedded_spec.go @@ -1133,6 +1133,10 @@ func init() { "Entitlements": { "type": "object", "properties": { + "adminRestrictedWeightLocation": { + "type": "boolean", + "example": false + }, "authorizedWeight": { "type": "integer", "x-formatting": "weight", @@ -1204,6 +1208,11 @@ func init() { "type": "integer", "x-nullable": true, "example": 3 + }, + "weightRestriction": { + "type": "integer", + "x-formatting": "weight", + "example": 1500 } } }, @@ -5479,6 +5488,10 @@ func init() { "Entitlements": { "type": "object", "properties": { + "adminRestrictedWeightLocation": { + "type": "boolean", + "example": false + }, "authorizedWeight": { "type": "integer", "x-formatting": "weight", @@ -5550,6 +5563,11 @@ func init() { "type": "integer", "x-nullable": true, "example": 3 + }, + "weightRestriction": { + "type": "integer", + "x-formatting": "weight", + "example": 1500 } } }, diff --git a/pkg/gen/primev3messages/entitlements.go b/pkg/gen/primev3messages/entitlements.go index 1e228c6350f..3e3568aacdc 100644 --- a/pkg/gen/primev3messages/entitlements.go +++ b/pkg/gen/primev3messages/entitlements.go @@ -19,6 +19,10 @@ import ( // swagger:model Entitlements type Entitlements struct { + // admin restricted weight location + // Example: false + AdminRestrictedWeightLocation bool `json:"adminRestrictedWeightLocation,omitempty"` + // authorized weight // Example: 2000 AuthorizedWeight *int64 `json:"authorizedWeight,omitempty"` @@ -79,6 +83,10 @@ type Entitlements struct { // The amount of weight in pounds that the move is entitled for shipment types of Unaccompanied Baggage. // Example: 3 UnaccompaniedBaggageAllowance *int64 `json:"unaccompaniedBaggageAllowance,omitempty"` + + // weight restriction + // Example: 1500 + WeightRestriction int64 `json:"weightRestriction,omitempty"` } // Validate validates this entitlements diff --git a/pkg/gen/supportapi/embedded_spec.go b/pkg/gen/supportapi/embedded_spec.go index 65ee2ddea96..7669b39294a 100644 --- a/pkg/gen/supportapi/embedded_spec.go +++ b/pkg/gen/supportapi/embedded_spec.go @@ -1110,6 +1110,10 @@ func init() { "Entitlement": { "type": "object", "properties": { + "adminRestrictedWeightLocation": { + "type": "boolean", + "example": false + }, "authorizedWeight": { "type": "integer", "x-formatting": "weight", @@ -1183,6 +1187,10 @@ func init() { "type": "integer", "x-nullable": true, "example": 3 + }, + "weightRestriction": { + "type": "integer", + "example": 1500 } } }, @@ -3977,6 +3985,10 @@ func init() { "Entitlement": { "type": "object", "properties": { + "adminRestrictedWeightLocation": { + "type": "boolean", + "example": false + }, "authorizedWeight": { "type": "integer", "x-formatting": "weight", @@ -4050,6 +4062,10 @@ func init() { "type": "integer", "x-nullable": true, "example": 3 + }, + "weightRestriction": { + "type": "integer", + "example": 1500 } } }, diff --git a/pkg/gen/supportmessages/entitlement.go b/pkg/gen/supportmessages/entitlement.go index 434ad8aeed3..2247b355374 100644 --- a/pkg/gen/supportmessages/entitlement.go +++ b/pkg/gen/supportmessages/entitlement.go @@ -19,6 +19,10 @@ import ( // swagger:model Entitlement type Entitlement struct { + // admin restricted weight location + // Example: false + AdminRestrictedWeightLocation bool `json:"adminRestrictedWeightLocation,omitempty"` + // authorized weight // Example: 2000 AuthorizedWeight *int64 `json:"authorizedWeight,omitempty"` @@ -81,6 +85,10 @@ type Entitlement struct { // The amount of weight in pounds that the move is entitled for shipment types of Unaccompanied Baggage. // Example: 3 UnaccompaniedBaggageAllowance *int64 `json:"unaccompaniedBaggageAllowance,omitempty"` + + // weight restriction + // Example: 1500 + WeightRestriction int64 `json:"weightRestriction,omitempty"` } // Validate validates this entitlement diff --git a/pkg/handlers/ghcapi/internal/payloads/model_to_payload.go b/pkg/handlers/ghcapi/internal/payloads/model_to_payload.go index 882f947c440..798858586a4 100644 --- a/pkg/handlers/ghcapi/internal/payloads/model_to_payload.go +++ b/pkg/handlers/ghcapi/internal/payloads/model_to_payload.go @@ -732,6 +732,12 @@ func Entitlement(entitlement *models.Entitlement) *ghcmessages.Entitlements { } requiredMedicalEquipmentWeight := int64(entitlement.RequiredMedicalEquipmentWeight) gunSafe := entitlement.GunSafe + adminRestrictedWeightLocation := entitlement.AdminRestrictedWeightLocation + + var weightRestriction int64 + wr := int64(*entitlement.WeightRestriction) + weightRestriction = wr + var accompaniedTour *bool if entitlement.AccompaniedTour != nil { accompaniedTour = models.BoolPointer(*entitlement.AccompaniedTour) @@ -765,12 +771,13 @@ func Entitlement(entitlement *models.Entitlement) *ghcmessages.Entitlements { AccompaniedTour: accompaniedTour, UnaccompaniedBaggageAllowance: ubAllowance, OrganizationalClothingAndIndividualEquipment: entitlement.OrganizationalClothingAndIndividualEquipment, - GunSafe: gunSafe, - ETag: etag.GenerateEtag(entitlement.UpdatedAt), + GunSafe: gunSafe, + AdminRestrictedWeightLocation: *adminRestrictedWeightLocation, + WeightRestriction: weightRestriction, + ETag: etag.GenerateEtag(entitlement.UpdatedAt), } -} -// DutyLocation payload +} // DutyLocation payload func DutyLocation(dutyLocation *models.DutyLocation) *ghcmessages.DutyLocation { if dutyLocation == nil { return nil diff --git a/pkg/handlers/ghcapi/orders_test.go b/pkg/handlers/ghcapi/orders_test.go index 9dba706d059..24939aa09fb 100644 --- a/pkg/handlers/ghcapi/orders_test.go +++ b/pkg/handlers/ghcapi/orders_test.go @@ -1477,6 +1477,8 @@ func (suite *HandlerSuite) TestCounselingUpdateAllowanceHandler() { ProGearWeightSpouse: proGearWeightSpouse, RequiredMedicalEquipmentWeight: rmeWeight, StorageInTransit: models.Int64Pointer(80), + AdminRestrictedWeightLocation: models.BoolPointer(false), + WeightRestriction: models.Int64Pointer(0), } request := httptest.NewRequest("PATCH", "/counseling/orders/{orderID}/allowances", nil) diff --git a/pkg/handlers/primeapi/payloads/model_to_payload.go b/pkg/handlers/primeapi/payloads/model_to_payload.go index 7fb7aaf2447..ccbe2b2da59 100644 --- a/pkg/handlers/primeapi/payloads/model_to_payload.go +++ b/pkg/handlers/primeapi/payloads/model_to_payload.go @@ -248,16 +248,18 @@ func Entitlement(entitlement *models.Entitlement) *primemessages.Entitlements { UnaccompaniedBaggageAllowance: &ubAllowance, DependentsAuthorized: entitlement.DependentsAuthorized, GunSafe: entitlement.GunSafe, + AdminRestrictedWeightLocation: *entitlement.AdminRestrictedWeightLocation, NonTemporaryStorage: entitlement.NonTemporaryStorage, PrivatelyOwnedVehicle: entitlement.PrivatelyOwnedVehicle, ProGearWeight: int64(entitlement.ProGearWeight), ProGearWeightSpouse: int64(entitlement.ProGearWeightSpouse), RequiredMedicalEquipmentWeight: int64(entitlement.RequiredMedicalEquipmentWeight), OrganizationalClothingAndIndividualEquipment: entitlement.OrganizationalClothingAndIndividualEquipment, - StorageInTransit: sit, - TotalDependents: totalDependents, - TotalWeight: totalWeight, - ETag: etag.GenerateEtag(entitlement.UpdatedAt), + StorageInTransit: sit, + TotalDependents: totalDependents, + TotalWeight: totalWeight, + WeightRestriction: int64(*entitlement.WeightRestriction), + ETag: etag.GenerateEtag(entitlement.UpdatedAt), } } diff --git a/pkg/handlers/primeapiv2/payloads/model_to_payload.go b/pkg/handlers/primeapiv2/payloads/model_to_payload.go index 8fad91b99ac..86cd761e17e 100644 --- a/pkg/handlers/primeapiv2/payloads/model_to_payload.go +++ b/pkg/handlers/primeapiv2/payloads/model_to_payload.go @@ -179,16 +179,18 @@ func Entitlement(entitlement *models.Entitlement) *primev2messages.Entitlements UnaccompaniedBaggageAllowance: &ubAllowance, DependentsAuthorized: entitlement.DependentsAuthorized, GunSafe: entitlement.GunSafe, + AdminRestrictedWeightLocation: *entitlement.AdminRestrictedWeightLocation, NonTemporaryStorage: entitlement.NonTemporaryStorage, PrivatelyOwnedVehicle: entitlement.PrivatelyOwnedVehicle, ProGearWeight: int64(entitlement.ProGearWeight), ProGearWeightSpouse: int64(entitlement.ProGearWeightSpouse), RequiredMedicalEquipmentWeight: int64(entitlement.RequiredMedicalEquipmentWeight), OrganizationalClothingAndIndividualEquipment: entitlement.OrganizationalClothingAndIndividualEquipment, - StorageInTransit: sit, - TotalDependents: totalDependents, - TotalWeight: totalWeight, - ETag: etag.GenerateEtag(entitlement.UpdatedAt), + StorageInTransit: sit, + TotalDependents: totalDependents, + TotalWeight: totalWeight, + WeightRestriction: int64(*entitlement.WeightRestriction), + ETag: etag.GenerateEtag(entitlement.UpdatedAt), } } diff --git a/pkg/handlers/primeapiv3/payloads/model_to_payload.go b/pkg/handlers/primeapiv3/payloads/model_to_payload.go index 3b076b41bf3..dfdd63530b3 100644 --- a/pkg/handlers/primeapiv3/payloads/model_to_payload.go +++ b/pkg/handlers/primeapiv3/payloads/model_to_payload.go @@ -212,10 +212,11 @@ func Entitlement(entitlement *models.Entitlement) *primev3messages.Entitlements ProGearWeightSpouse: int64(entitlement.ProGearWeightSpouse), RequiredMedicalEquipmentWeight: int64(entitlement.RequiredMedicalEquipmentWeight), OrganizationalClothingAndIndividualEquipment: entitlement.OrganizationalClothingAndIndividualEquipment, - StorageInTransit: sit, - TotalDependents: totalDependents, - TotalWeight: totalWeight, - ETag: etag.GenerateEtag(entitlement.UpdatedAt), + StorageInTransit: sit, + TotalDependents: totalDependents, + TotalWeight: totalWeight, + WeightRestriction: int64(*entitlement.WeightRestriction), + ETag: etag.GenerateEtag(entitlement.UpdatedAt), } } diff --git a/pkg/handlers/supportapi/internal/payloads/model_to_payload.go b/pkg/handlers/supportapi/internal/payloads/model_to_payload.go index 5e43cd2070b..e1e3c9f18a8 100644 --- a/pkg/handlers/supportapi/internal/payloads/model_to_payload.go +++ b/pkg/handlers/supportapi/internal/payloads/model_to_payload.go @@ -151,6 +151,7 @@ func Entitlement(entitlement *models.Entitlement) *supportmessages.Entitlement { if entitlement.UBAllowance != nil { ubAllowance = int64(*entitlement.UBAllowance) } + return &supportmessages.Entitlement{ ID: strfmt.UUID(entitlement.ID.String()), AuthorizedWeight: authorizedWeight, @@ -162,10 +163,11 @@ func Entitlement(entitlement *models.Entitlement) *supportmessages.Entitlement { ProGearWeightSpouse: int64(entitlement.ProGearWeightSpouse), RequiredMedicalEquipmentWeight: int64(entitlement.RequiredMedicalEquipmentWeight), OrganizationalClothingAndIndividualEquipment: entitlement.OrganizationalClothingAndIndividualEquipment, - StorageInTransit: sit, - TotalDependents: totalDependents, - TotalWeight: totalWeight, - ETag: etag.GenerateEtag(entitlement.UpdatedAt), + StorageInTransit: sit, + TotalDependents: totalDependents, + TotalWeight: totalWeight, + WeightRestriction: int64(*entitlement.WeightRestriction), + ETag: etag.GenerateEtag(entitlement.UpdatedAt), } } diff --git a/pkg/models/ghc_entitlements.go b/pkg/models/ghc_entitlements.go index 383caada3a7..1bec7547de0 100644 --- a/pkg/models/ghc_entitlements.go +++ b/pkg/models/ghc_entitlements.go @@ -31,6 +31,8 @@ type Entitlement struct { OrganizationalClothingAndIndividualEquipment bool `db:"organizational_clothing_and_individual_equipment"` ProGearWeight int `db:"pro_gear_weight"` ProGearWeightSpouse int `db:"pro_gear_weight_spouse"` + AdminRestrictedWeightLocation *bool `db:"admin_restricted_weight_location"` + WeightRestriction *int `db:"weight_restriction"` CreatedAt time.Time `db:"created_at"` UpdatedAt time.Time `db:"updated_at"` } diff --git a/pkg/services/order/order_updater.go b/pkg/services/order/order_updater.go index 02b8c848ca5..9bdddfd17b8 100644 --- a/pkg/services/order/order_updater.go +++ b/pkg/services/order/order_updater.go @@ -460,6 +460,13 @@ func allowanceFromTOOPayload(appCtx appcontext.AppContext, existingOrder models. order.Entitlement.GunSafe = *payload.GunSafe } + if payload.AdminRestrictedWeightLocation != nil { + order.Entitlement.AdminRestrictedWeightLocation = payload.AdminRestrictedWeightLocation + } + + weightRestriction := int(payload.WeightRestriction) + order.Entitlement.WeightRestriction = &weightRestriction + if payload.AccompaniedTour != nil { order.Entitlement.AccompaniedTour = payload.AccompaniedTour } @@ -505,8 +512,8 @@ func allowanceFromTOOPayload(appCtx appcontext.AppContext, existingOrder models. } return order -} +} func allowanceFromCounselingPayload(appCtx appcontext.AppContext, existingOrder models.Order, payload ghcmessages.CounselingUpdateAllowancePayload) models.Order { order := existingOrder @@ -560,6 +567,15 @@ func allowanceFromCounselingPayload(appCtx appcontext.AppContext, existingOrder order.Entitlement.GunSafe = *payload.GunSafe } + if payload.AdminRestrictedWeightLocation != nil { + order.Entitlement.AdminRestrictedWeightLocation = payload.AdminRestrictedWeightLocation + } + + if payload.WeightRestriction != nil { + weightRestriction := int(*payload.WeightRestriction) + order.Entitlement.WeightRestriction = &weightRestriction + } + if payload.AccompaniedTour != nil { order.Entitlement.AccompaniedTour = payload.AccompaniedTour } @@ -600,7 +616,6 @@ func allowanceFromCounselingPayload(appCtx appcontext.AppContext, existingOrder return order } - func (f *orderUpdater) saveDocumentForAmendedOrder(appCtx appcontext.AppContext, doc *models.Document) (*models.Document, error) { var docID uuid.UUID if doc != nil { diff --git a/pkg/services/order/order_updater_test.go b/pkg/services/order/order_updater_test.go index 1bf72866552..1ed15ea9a89 100644 --- a/pkg/services/order/order_updater_test.go +++ b/pkg/services/order/order_updater_test.go @@ -588,6 +588,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsTOO() { ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, RequiredMedicalEquipmentWeight: rmeWeight, + AdminRestrictedWeightLocation: models.BoolPointer(false), + WeightRestriction: int64(*models.IntPointer(0)), } updatedOrder, _, err := orderUpdater.UpdateAllowanceAsTOO(suite.AppContextForTest(), order.ID, payload, eTag) @@ -630,6 +632,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsTOO() { AccompaniedTour: models.BoolPointer(true), DependentsTwelveAndOver: models.Int64Pointer(2), DependentsUnderTwelve: models.Int64Pointer(4), + AdminRestrictedWeightLocation: models.BoolPointer(false), + WeightRestriction: int64(*models.IntPointer(0)), } updatedOrder, _, err := orderUpdater.UpdateAllowanceAsTOO(suite.AppContextForTest(), order.ID, payload, eTag) @@ -675,6 +679,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsTOO() { ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, RequiredMedicalEquipmentWeight: rmeWeight, + AdminRestrictedWeightLocation: models.BoolPointer(false), + WeightRestriction: int64(*models.IntPointer(0)), } updatedOrder, _, err := orderUpdater.UpdateAllowanceAsTOO(suite.AppContextForTest(), order.ID, payload, eTag) @@ -747,6 +753,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { AccompaniedTour: models.BoolPointer(true), DependentsTwelveAndOver: models.Int64Pointer(1), DependentsUnderTwelve: models.Int64Pointer(2), + AdminRestrictedWeightLocation: models.BoolPointer(false), + WeightRestriction: models.Int64Pointer(0), } updatedOrder, _, err := orderUpdater.UpdateAllowanceAsCounselor(suite.AppContextForTest(), order.ID, payload, eTag) @@ -784,6 +792,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, RequiredMedicalEquipmentWeight: rmeWeight, + AdminRestrictedWeightLocation: models.BoolPointer(false), + WeightRestriction: models.Int64Pointer(0), } updatedOrder, _, err := orderUpdater.UpdateAllowanceAsCounselor(suite.AppContextForTest(), order.ID, payload, eTag) @@ -829,6 +839,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, RequiredMedicalEquipmentWeight: rmeWeight, + AdminRestrictedWeightLocation: models.BoolPointer(false), + WeightRestriction: models.Int64Pointer(0), } updatedOrder, _, err := orderUpdater.UpdateAllowanceAsCounselor(suite.AppContextForTest(), order.ID, payload, eTag) @@ -878,6 +890,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, RequiredMedicalEquipmentWeight: rmeWeight, + AdminRestrictedWeightLocation: models.BoolPointer(false), + WeightRestriction: models.Int64Pointer(0), } updatedOrder, _, err := orderUpdater.UpdateAllowanceAsCounselor(suite.AppContextForTest(), orderWithoutDefaults.ID, payload, eTag) @@ -929,6 +943,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, RequiredMedicalEquipmentWeight: rmeWeight, + AdminRestrictedWeightLocation: models.BoolPointer(false), + WeightRestriction: models.Int64Pointer(0), } updatedOrder, _, err := orderUpdater.UpdateAllowanceAsCounselor(suite.AppContextForTest(), order.ID, payload, eTag) @@ -965,6 +981,8 @@ func (suite *OrderServiceSuite) TestUpdateAllowanceAsCounselor() { ProGearWeight: proGearWeight, ProGearWeightSpouse: proGearWeightSpouse, RequiredMedicalEquipmentWeight: rmeWeight, + AdminRestrictedWeightLocation: models.BoolPointer(false), + WeightRestriction: models.Int64Pointer(0), } updatedOrder, _, err := orderUpdater.UpdateAllowanceAsCounselor(suite.AppContextForTest(), order.ID, payload, eTag) diff --git a/pkg/testdatagen/make_entitlement.go b/pkg/testdatagen/make_entitlement.go index e71bf02cec1..9d9c787df4d 100644 --- a/pkg/testdatagen/make_entitlement.go +++ b/pkg/testdatagen/make_entitlement.go @@ -17,6 +17,7 @@ func makeEntitlement(db *pop.Connection, assertions Assertions) models.Entitleme ordersType := assertions.Order.OrdersType proGearWeight := 2000 proGearWeightSpouse := 500 + falsePtr := false if grade == nil || *grade == "" { grade = models.ServiceMemberGradeE1.Pointer() @@ -32,6 +33,7 @@ func makeEntitlement(db *pop.Connection, assertions Assertions) models.Entitleme ProGearWeightSpouse: proGearWeightSpouse, RequiredMedicalEquipmentWeight: rmeWeight, OrganizationalClothingAndIndividualEquipment: ocie, + AdminRestrictedWeightLocation: &falsePtr, } entitlement.SetWeightAllotment(string(*grade), ordersType) dBAuthorizedWeight := entitlement.AuthorizedWeight() diff --git a/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.jsx b/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.jsx index 94d8bcc2dc3..739a5ea9d63 100644 --- a/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.jsx +++ b/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.jsx @@ -20,6 +20,9 @@ const AllowancesDetailForm = ({ header, entitlements, branchOptions, formIsDisab entitlements?.dependentsTwelveAndOver || entitlements?.dependentsUnderTwelve ); + const [isAdminWeightLocationChecked, setIsAdminWeightLocationChecked] = useState( + entitlements?.adminRestrictedWeightLocation || false, + ); useEffect(() => { // Functional component version of "componentDidMount" // By leaving the dependency array empty this will only run once @@ -32,6 +35,29 @@ const AllowancesDetailForm = ({ header, entitlements, branchOptions, formIsDisab checkUBFeatureFlag(); }, []); + useEffect(() => { + if (!isAdminWeightLocationChecked) { + // Find the weight restriction input and reset its value to 0 + const weightRestrictionInput = document.getElementById('weightRestrictionId'); + if (weightRestrictionInput) { + weightRestrictionInput.value = '0'; + } + } + }, [isAdminWeightLocationChecked]); + + const handleAdminWeightLocationChange = (e) => { + setIsAdminWeightLocationChecked(e.target.checked); + if (!e.target.checked) { + const weightRestrictionInput = document.querySelector('input[name="weightRestriction"]'); + if (weightRestrictionInput) { + weightRestrictionInput.value = '0'; + // Trigger change event to ensure form state is updated + const event = new Event('input', { bubbles: true }); + weightRestrictionInput.dispatchEvent(event); + } + } + }; + return (
{header &&

{header}

} @@ -146,6 +172,10 @@ const AllowancesDetailForm = ({ header, entitlements, branchOptions, formIsDisab lazy={false} // immediate masking evaluation isDisabled={formIsDisabled} /> +
+
Standard Weight allowance
+
{formatWeight(entitlements.totalWeight)}
+
-
-
Weight allowance
-
{formatWeight(entitlements.totalWeight)}
-
+
+ +
+ {isAdminWeightLocationChecked && ( + + )}
); }; - AllowancesDetailForm.propTypes = { entitlements: EntitlementShape.isRequired, branchOptions: DropdownArrayOf.isRequired, diff --git a/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.test.jsx b/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.test.jsx index 503ab865df3..fcf825bd404 100644 --- a/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.test.jsx +++ b/src/components/Office/AllowancesDetailForm/AllowancesDetailForm.test.jsx @@ -159,3 +159,40 @@ describe('AllowancesDetailForm', () => { expect(screen.queryByLabelText(/Number of dependents of the age 12 or over/)).toBeInTheDocument(); }); }); +describe('AllowancesDetailForm additional tests', () => { + it('renders gun safe checkbox field', async () => { + render( + + + , + ); + + expect(await screen.findByTestId('gunSafeInput')).toBeInTheDocument(); + }); + + it('renders admin weight location section with conditional weight restriction field', async () => { + render( + + + , + ); + + const adminWeightCheckbox = await screen.findByTestId('adminWeightLocation'); + expect(adminWeightCheckbox).toBeInTheDocument(); + expect(screen.queryByTestId('weightRestrictionInput')).not.toBeInTheDocument(); + await act(async () => { + adminWeightCheckbox.click(); + }); + expect(screen.getByTestId('weightRestrictionInput')).toBeInTheDocument(); + }); + + it('displays the total weight allowance correctly', async () => { + render( + + + , + ); + + expect(await screen.findByTestId('weightAllowance')).toHaveTextContent('11,000'); + }); +}); diff --git a/src/components/Office/DefinitionLists/AllowancesList.jsx b/src/components/Office/DefinitionLists/AllowancesList.jsx index 3d5c1e850cc..185a81be3f5 100644 --- a/src/components/Office/DefinitionLists/AllowancesList.jsx +++ b/src/components/Office/DefinitionLists/AllowancesList.jsx @@ -104,6 +104,16 @@ const AllowancesList = ({ info, showVisualCues }) => {
Gun Safe
{info.gunSafe ? 'Authorized' : 'Unauthorized'}
+
+
Admin Restricted Weight Location
+
{info.adminRestrictedWeightLocation ? 'Yes' : 'No'}
+
+
+
Weight Restriction
+
+ {info.weightRestriction ? formatWeight(info.weightRestriction) : DEFAULT_EMPTY_VALUE} +
+
); diff --git a/src/constants/MoveHistory/Database/BooleanFields.js b/src/constants/MoveHistory/Database/BooleanFields.js index 32a4cc5f7c7..c14cb67f56c 100644 --- a/src/constants/MoveHistory/Database/BooleanFields.js +++ b/src/constants/MoveHistory/Database/BooleanFields.js @@ -12,6 +12,7 @@ export default { missing_receipt: 'missing_receipt', organizational_clothing_and_individual_equipment: 'organizational_clothing_and_individual_equipment', gun_safe: 'gun_safe', + admin_restricted_weight_location: 'admin_restricted_weight_location', email_is_preferred: 'email_is_preferred', phone_is_preferred: 'phone_is_preferred', uses_external_vendor: 'uses_external_vendor', diff --git a/src/constants/MoveHistory/Database/FieldMappings.js b/src/constants/MoveHistory/Database/FieldMappings.js index 5cfeab3e8a4..feb753a0ea9 100644 --- a/src/constants/MoveHistory/Database/FieldMappings.js +++ b/src/constants/MoveHistory/Database/FieldMappings.js @@ -39,6 +39,8 @@ export default { required_medical_equipment_weight: 'Required medical equipment', organizational_clothing_and_individual_equipment: 'OCIE', gun_safe: 'Gun Safe', + admin_restricted_weight_location: 'Admin restricted weight location', + weight_restriction: 'Weight restriction', requested_pickup_date: 'Requested pickup date', grade: 'Pay grade', shipment_type: 'Shipment type', diff --git a/src/pages/Office/MoveAllowances/MoveAllowances.jsx b/src/pages/Office/MoveAllowances/MoveAllowances.jsx index 9adf62bdc39..18484e884bd 100644 --- a/src/pages/Office/MoveAllowances/MoveAllowances.jsx +++ b/src/pages/Office/MoveAllowances/MoveAllowances.jsx @@ -43,6 +43,10 @@ const validationSchema = Yup.object({ .min(0, 'Storage in transit (days) must be greater than or equal to 0') .transform((value) => (Number.isNaN(value) ? 0 : value)) .notRequired(), + weightRestriction: Yup.number() + .min(0, 'Weight restriction must be greater than or equal to 0') + .transform((value) => (Number.isNaN(value) ? 0 : value)) + .notRequired(), }); const MoveAllowances = () => { @@ -98,6 +102,8 @@ const MoveAllowances = () => { organizationalClothingAndIndividualEquipment, storageInTransit, gunSafe, + adminRestrictedWeightLocation, + weightRestriction, accompaniedTour, dependentsTwelveAndOver, dependentsUnderTwelve, @@ -118,6 +124,8 @@ const MoveAllowances = () => { organizationalClothingAndIndividualEquipment, storageInTransit: Number(storageInTransit), gunSafe, + adminRestrictedWeightLocation, + weightRestriction: Number(weightRestriction), accompaniedTour, dependentsTwelveAndOver: Number(dependentsTwelveAndOver), dependentsUnderTwelve: Number(dependentsUnderTwelve), @@ -133,6 +141,8 @@ const MoveAllowances = () => { requiredMedicalEquipmentWeight, organizationalClothingAndIndividualEquipment, gunSafe, + adminRestrictedWeightLocation, + weightRestriction, storageInTransit, dependentsUnderTwelve, dependentsTwelveAndOver, @@ -148,6 +158,8 @@ const MoveAllowances = () => { requiredMedicalEquipmentWeight: `${requiredMedicalEquipmentWeight}`, organizationalClothingAndIndividualEquipment, gunSafe, + adminRestrictedWeightLocation, + weightRestriction: `${weightRestriction}`, storageInTransit: `${storageInTransit}`, accompaniedTour, dependentsUnderTwelve: `${dependentsUnderTwelve}`, diff --git a/src/pages/Office/MoveDetails/MoveDetails.jsx b/src/pages/Office/MoveDetails/MoveDetails.jsx index db24f2ad0e2..e5faddb3377 100644 --- a/src/pages/Office/MoveDetails/MoveDetails.jsx +++ b/src/pages/Office/MoveDetails/MoveDetails.jsx @@ -430,10 +430,12 @@ const MoveDetails = ({ requiredMedicalEquipmentWeight: allowances.requiredMedicalEquipmentWeight, organizationalClothingAndIndividualEquipment: allowances.organizationalClothingAndIndividualEquipment, gunSafe: allowances.gunSafe, + adminRestrictedWeightLocation: allowances.adminRestrictedWeightLocation, dependentsUnderTwelve: allowances.dependentsUnderTwelve, dependentsTwelveAndOver: allowances.dependentsTwelveAndOver, accompaniedTour: allowances.accompaniedTour, ubAllowance: allowances.unaccompaniedBaggageAllowance, + weightRestriction: allowances.weightRestriction, }; const customerInfo = { diff --git a/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.jsx b/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.jsx index 98a85147767..d6a8f85bc6b 100644 --- a/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.jsx +++ b/src/pages/Office/ServicesCounselingMoveAllowances/ServicesCounselingMoveAllowances.jsx @@ -86,6 +86,8 @@ const ServicesCounselingMoveAllowances = () => { organizationalClothingAndIndividualEquipment, storageInTransit, gunSafe, + adminRestrictedWeightLocation, + weightRestriction, accompaniedTour, dependentsTwelveAndOver, dependentsUnderTwelve, @@ -106,6 +108,8 @@ const ServicesCounselingMoveAllowances = () => { storageInTransit: Number(storageInTransit), organizationalClothingAndIndividualEquipment, gunSafe, + adminRestrictedWeightLocation, + weightRestriction: Number(weightRestriction), accompaniedTour, dependentsTwelveAndOver: Number(dependentsTwelveAndOver), dependentsUnderTwelve: Number(dependentsUnderTwelve), @@ -121,6 +125,8 @@ const ServicesCounselingMoveAllowances = () => { requiredMedicalEquipmentWeight, organizationalClothingAndIndividualEquipment, gunSafe, + adminRestrictedWeightLocation, + weightRestriction, storageInTransit, dependentsUnderTwelve, dependentsTwelveAndOver, @@ -136,6 +142,8 @@ const ServicesCounselingMoveAllowances = () => { requiredMedicalEquipmentWeight: `${requiredMedicalEquipmentWeight}`, storageInTransit: `${storageInTransit}`, gunSafe, + adminRestrictedWeightLocation, + weightRestriction: `${weightRestriction}`, organizationalClothingAndIndividualEquipment, accompaniedTour, dependentsUnderTwelve: `${dependentsUnderTwelve}`, diff --git a/src/pages/Office/ServicesCounselingMoveDetails/ServicesCounselingMoveDetails.jsx b/src/pages/Office/ServicesCounselingMoveDetails/ServicesCounselingMoveDetails.jsx index 36e61c24ddf..73605dc6051 100644 --- a/src/pages/Office/ServicesCounselingMoveDetails/ServicesCounselingMoveDetails.jsx +++ b/src/pages/Office/ServicesCounselingMoveDetails/ServicesCounselingMoveDetails.jsx @@ -387,10 +387,12 @@ const ServicesCounselingMoveDetails = ({ requiredMedicalEquipmentWeight: allowances.requiredMedicalEquipmentWeight, organizationalClothingAndIndividualEquipment: allowances.organizationalClothingAndIndividualEquipment, gunSafe: allowances.gunSafe, + adminRestrictedWeightLocation: allowances.adminRestrictedWeightLocation, dependentsUnderTwelve: allowances.dependentsUnderTwelve, dependentsTwelveAndOver: allowances.dependentsTwelveAndOver, accompaniedTour: allowances.accompaniedTour, ubAllowance: allowances.unaccompaniedBaggageAllowance, + weightRestriction: allowances.weightRestriction, }; const ordersInfo = { diff --git a/swagger-def/definitions/prime/Entitlements.yaml b/swagger-def/definitions/prime/Entitlements.yaml index 5722870f9d7..45e4f573900 100644 --- a/swagger-def/definitions/prime/Entitlements.yaml +++ b/swagger-def/definitions/prime/Entitlements.yaml @@ -21,6 +21,9 @@ properties: gunSafe: type: boolean example: false + adminRestrictedWeightLocation: + type: boolean + example: false nonTemporaryStorage: example: false type: boolean @@ -54,6 +57,10 @@ properties: totalDependents: example: 2 type: integer + weightRestriction: + example: 1500 + type: integer + x-formatting: weight eTag: type: string readOnly: true diff --git a/swagger-def/ghc.yaml b/swagger-def/ghc.yaml index 232f3add0f0..f4d84c62dc2 100644 --- a/swagger-def/ghc.yaml +++ b/swagger-def/ghc.yaml @@ -1,4 +1,4 @@ -swagger: '2.0' +swagger: "2.0" info: contact: email: milmove-developers@caci.com @@ -6,7 +6,7 @@ info: $ref: info/ghc_description.md license: name: MIT - url: 'https://opensource.org/licenses/MIT' + url: "https://opensource.org/licenses/MIT" title: MilMove GHC API version: 0.0.1 basePath: /ghc/v1 @@ -15,7 +15,7 @@ schemes: tags: - name: queues - name: move - - $ref: 'tags/order.yaml' + - $ref: "tags/order.yaml" - name: moveTaskOrder - name: customer - name: mtoServiceItem @@ -31,7 +31,7 @@ tags: - name: paymentRequests - name: reServiceItems paths: - '/customer': + "/customer": post: summary: Creates a customer with Okta option description: Creates a customer with option to also create an Okta profile account based on the office user's input when completing the UI form and submitting. @@ -47,28 +47,28 @@ paths: name: body required: true schema: - $ref: '#/definitions/CreateCustomerPayload' + $ref: "#/definitions/CreateCustomerPayload" responses: - '200': + "200": description: successfully created the customer schema: - $ref: '#/definitions/CreatedCustomer' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/CreatedCustomer" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /open/requested-office-users: post: consumes: @@ -92,19 +92,19 @@ paths: name: officeUser description: Office User information schema: - $ref: '#/definitions/OfficeUserCreate' + $ref: "#/definitions/OfficeUserCreate" responses: - '201': + "201": description: successfully requested the creation of provided office user schema: - $ref: '#/definitions/OfficeUser' - '422': + $ref: "#/definitions/OfficeUser" + "422": description: validation error schema: - $ref: '#/definitions/ValidationError' - '500': + $ref: "#/definitions/ValidationError" + "500": description: internal server error - '/customer/{customerID}': + "/customer/{customerID}": parameters: - description: ID of customer to use in: path @@ -117,20 +117,20 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved information on an individual customer schema: - $ref: '#/definitions/Customer' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Customer" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - customer description: Returns a given customer @@ -151,30 +151,30 @@ paths: name: body required: true schema: - $ref: '#/definitions/UpdateCustomerPayload' + $ref: "#/definitions/UpdateCustomerPayload" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: updated instance of orders schema: - $ref: '#/definitions/Customer' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Customer" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.customer /customer/search: @@ -223,22 +223,30 @@ paths: sort: type: string x-nullable: true - enum: [customerName, edipi, emplid, branch, personalEmail, telephone] + enum: + [ + customerName, + edipi, + emplid, + branch, + personalEmail, + telephone, + ] order: type: string x-nullable: true enum: [asc, desc] description: field that results should be sorted by responses: - '200': + "200": description: Successfully returned all customers matching the criteria schema: - $ref: '#/definitions/SearchCustomersResult' - '403': - $ref: '#/responses/PermissionDenied' - '500': - $ref: '#/responses/ServerError' - '/move/{locator}': + $ref: "#/definitions/SearchCustomersResult" + "403": + $ref: "#/responses/PermissionDenied" + "500": + $ref: "#/responses/ServerError" + "/move/{locator}": parameters: - description: Code used to identify a move in the system in: path @@ -250,26 +258,26 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved the individual move schema: - $ref: '#/definitions/Move' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Move" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - move description: Returns a given move for a unique alphanumeric locator string summary: Returns a given move operationId: getMove - '/move/{locator}/history': + "/move/{locator}/history": parameters: - description: Code used to identify a move in the system in: path @@ -289,26 +297,26 @@ paths: type: integer description: results per page responses: - '200': + "200": description: Successfully retrieved the individual move history schema: - $ref: '#/definitions/MoveHistoryResult' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/MoveHistoryResult" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - move description: Returns the history for a given move for a unique alphanumeric locator string summary: Returns the history of an identified move operationId: getMoveHistory - '/moves/{moveID}/shipment-evaluation-reports-list': + "/moves/{moveID}/shipment-evaluation-reports-list": parameters: - description: Code used to identify a move in the system in: path @@ -320,26 +328,26 @@ paths: produces: - application/json responses: - '200': + "200": description: Successfully retrieved the move's evaluation reports schema: - $ref: '#/definitions/EvaluationReportList' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/EvaluationReportList" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - move description: Returns shipment evaluation reports for the specified move that are visible to the current office user summary: Returns shipment evaluation reports for the specified move that are visible to the current office user operationId: getMoveShipmentEvaluationReportsList - '/moves/{moveID}/counseling-evaluation-reports-list': + "/moves/{moveID}/counseling-evaluation-reports-list": parameters: - description: Code used to identify a move in the system in: path @@ -351,26 +359,26 @@ paths: produces: - application/json responses: - '200': + "200": description: Successfully retrieved the move's evaluation reports schema: - $ref: '#/definitions/EvaluationReportList' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/EvaluationReportList" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - move description: Returns counseling evaluation reports for the specified move that are visible to the current office user summary: Returns counseling evaluation reports for the specified move that are visible to the current office user operationId: getMoveCounselingEvaluationReportsList - '/moves/{moveID}/cancel': + "/moves/{moveID}/cancel": parameters: - description: ID of the move in: path @@ -385,22 +393,22 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully canceled move schema: - $ref: '#/definitions/Move' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Move" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - move description: cancels a move @@ -408,7 +416,7 @@ paths: summary: Cancels a move x-permissions: - update.cancelMoveFlag - '/counseling/orders/{orderID}': + "/counseling/orders/{orderID}": parameters: - description: ID of order to update in: path @@ -431,27 +439,27 @@ paths: name: body required: true schema: - $ref: '#/definitions/CounselingUpdateOrderPayload' + $ref: "#/definitions/CounselingUpdateOrderPayload" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: updated instance of orders schema: - $ref: '#/definitions/Order' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' - '/orders': + $ref: "#/definitions/Order" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + "/orders": post: summary: Creates an orders model for a logged-in user description: Creates an instance of orders tied to a service member, which allow for creation of a move and an entitlement. Orders are required before the creation of a move @@ -466,23 +474,23 @@ paths: - in: body name: createOrders schema: - $ref: '#/definitions/CreateOrders' + $ref: "#/definitions/CreateOrders" responses: - '200': + "200": description: created instance of orders schema: - $ref: '#/definitions/Order' - '400': + $ref: "#/definitions/Order" + "400": description: invalid request - '401': + "401": description: request requires user authentication - '403': + "403": description: user is not authorized - '422': - $ref: '#/responses/UnprocessableEntity' - '500': + "422": + $ref: "#/responses/UnprocessableEntity" + "500": description: internal server error - '/orders/{orderID}': + "/orders/{orderID}": parameters: - description: ID of order to use in: path @@ -505,30 +513,30 @@ paths: name: body required: true schema: - $ref: '#/definitions/UpdateOrderPayload' + $ref: "#/definitions/UpdateOrderPayload" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: updated instance of orders schema: - $ref: '#/definitions/Order' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Order" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.orders get: @@ -536,26 +544,26 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved order schema: - $ref: '#/definitions/Order' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Order" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - order description: Gets an order operationId: getOrder summary: Gets an order by ID - '/orders/{orderID}/allowances': + "/orders/{orderID}/allowances": parameters: - description: ID of order to use in: path @@ -578,29 +586,29 @@ paths: name: body required: true schema: - $ref: '#/definitions/UpdateAllowancePayload' + $ref: "#/definitions/UpdateAllowancePayload" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: updated instance of allowance schema: - $ref: '#/definitions/Order' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Order" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.allowances - '/orders/{orderID}/acknowledge-excess-weight-risk': + "/orders/{orderID}/acknowledge-excess-weight-risk": parameters: - description: ID of order to use in: path @@ -624,20 +632,20 @@ paths: type: string required: true responses: - '200': + "200": description: updated Move schema: - $ref: '#/definitions/Move' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Move" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.excessWeightRisk '/orders/{orderID}/acknowledge-excess-unaccompanied-baggage-weight-risk': @@ -680,7 +688,7 @@ paths: $ref: '#/responses/ServerError' x-permissions: - update.excessWeightRisk - '/orders/{orderID}/update-billable-weight': + "/orders/{orderID}/update-billable-weight": parameters: - description: ID of order to use in: path @@ -703,29 +711,29 @@ paths: name: body required: true schema: - $ref: '#/definitions/UpdateBillableWeightPayload' + $ref: "#/definitions/UpdateBillableWeightPayload" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: updated Order schema: - $ref: '#/definitions/Order' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Order" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.billableWeight - '/orders/{orderID}/update-max-billable-weight/tio': + "/orders/{orderID}/update-max-billable-weight/tio": parameters: - description: ID of order to use in: path @@ -748,23 +756,23 @@ paths: name: body required: true schema: - $ref: '#/definitions/UpdateMaxBillableWeightAsTIOPayload' - - $ref: 'parameters/ifMatch.yaml' + $ref: "#/definitions/UpdateMaxBillableWeightAsTIOPayload" + - $ref: "parameters/ifMatch.yaml" responses: - '200': + "200": description: updated Order schema: - $ref: '#/definitions/Order' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Order" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.maxBillableWeight /orders/{orderID}/upload_amended_orders: @@ -789,23 +797,23 @@ paths: description: The file to upload. required: true responses: - '201': + "201": description: created upload schema: - $ref: 'definitions/Upload.yaml' - '400': + $ref: "definitions/Upload.yaml" + "400": description: invalid request schema: - $ref: '#/definitions/InvalidRequestResponsePayload' - '403': + $ref: "#/definitions/InvalidRequestResponsePayload" + "403": description: not authorized - '404': + "404": description: not found - '413': + "413": description: payload is too large - '500': + "500": description: server error - '/counseling/orders/{orderID}/allowances': + "/counseling/orders/{orderID}/allowances": parameters: - description: ID of order to use in: path @@ -828,27 +836,27 @@ paths: name: body required: true schema: - $ref: '#/definitions/CounselingUpdateAllowancePayload' + $ref: "#/definitions/CounselingUpdateAllowancePayload" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: updated instance of allowance schema: - $ref: '#/definitions/Order' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' - '/move-task-orders/{moveTaskOrderID}': + $ref: "#/definitions/Order" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + "/move-task-orders/{moveTaskOrderID}": parameters: - description: ID of move to use in: path @@ -860,26 +868,26 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved move task order schema: - $ref: '#/definitions/MoveTaskOrder' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/MoveTaskOrder" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - moveTaskOrder description: Gets a move operationId: getMoveTaskOrder summary: Gets a move by ID - '/move_task_orders/{moveTaskOrderID}/mto_service_items': + "/move_task_orders/{moveTaskOrderID}/mto_service_items": parameters: - description: ID of move for mto service item to use in: path @@ -892,22 +900,22 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved all line items for a move task order schema: - $ref: 'definitions/MTOServiceItems.yaml' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOServiceItems.yaml" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - mtoServiceItem description: Gets all line items for a move operationId: listMTOServiceItems summary: Gets all line items for a move - '/mto-shipments': + "/mto-shipments": post: summary: createMTOShipment description: | @@ -934,21 +942,21 @@ paths: - in: body name: body schema: - $ref: '#/definitions/CreateMTOShipment' + $ref: "#/definitions/CreateMTOShipment" responses: - '200': + "200": description: Successfully created a MTO shipment. schema: - $ref: 'definitions/MTOShipment.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' - '/move_task_orders/{moveTaskOrderID}/mto_shipments': + $ref: "definitions/MTOShipment.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + "/move_task_orders/{moveTaskOrderID}/mto_shipments": parameters: - description: ID of move task order for mto shipment to use in: path @@ -961,24 +969,24 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved all mto shipments for a move task order schema: - $ref: '#/definitions/MTOShipments' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/MTOShipments" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - mtoShipment description: Gets all shipments for a move task order operationId: listMTOShipments summary: Gets all shipments for a move task order - '/shipments/{shipmentID}': + "/shipments/{shipmentID}": get: summary: fetches a shipment by ID description: fetches a shipment by ID @@ -995,20 +1003,20 @@ paths: format: uuid type: string responses: - '200': + "200": description: Successfully fetched the shipment schema: - $ref: '#/definitions/MTOShipment' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/MTOShipment" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" delete: summary: Soft deletes a shipment by ID description: Soft deletes a shipment by ID @@ -1025,21 +1033,21 @@ paths: format: uuid type: string responses: - '204': + "204": description: Successfully soft deleted the shipment - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' - '/move_task_orders/{moveTaskOrderID}/mto_shipments/{shipmentID}': + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + "/move_task_orders/{moveTaskOrderID}/mto_shipments/{shipmentID}": patch: summary: updateMTOShipment description: | @@ -1093,27 +1101,27 @@ paths: - in: body name: body schema: - $ref: '#/definitions/UpdateShipment' + $ref: "#/definitions/UpdateShipment" responses: - '200': + "200": description: Successfully updated the specified MTO shipment. schema: - $ref: 'definitions/MTOShipment.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' - '/shipments/{shipmentID}/approve': + $ref: "definitions/MTOShipment.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + "/shipments/{shipmentID}/approve": parameters: - description: ID of the shipment in: path @@ -1132,22 +1140,22 @@ paths: type: string required: true responses: - '200': + "200": description: Successfully approved the shipment schema: - $ref: 'definitions/MTOShipment.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOShipment.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - shipment description: Approves a shipment @@ -1155,7 +1163,7 @@ paths: summary: Approves a shipment x-permissions: - update.shipment - '/shipments/{shipmentID}/request-diversion': + "/shipments/{shipmentID}/request-diversion": parameters: - description: ID of the shipment in: path @@ -1177,24 +1185,24 @@ paths: name: body required: true schema: - $ref: '#/definitions/RequestDiversion' + $ref: "#/definitions/RequestDiversion" responses: - '200': + "200": description: Successfully requested the shipment diversion schema: - $ref: 'definitions/MTOShipment.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOShipment.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - shipment description: Requests a shipment diversion @@ -1202,7 +1210,7 @@ paths: summary: Requests a shipment diversion x-permissions: - create.shipmentDiversionRequest - '/shipments/{shipmentID}/approve-diversion': + "/shipments/{shipmentID}/approve-diversion": parameters: - description: ID of the shipment in: path @@ -1221,22 +1229,22 @@ paths: type: string required: true responses: - '200': + "200": description: Successfully approved the shipment diversion schema: - $ref: 'definitions/MTOShipment.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOShipment.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.shipment tags: @@ -1244,7 +1252,7 @@ paths: description: Approves a shipment diversion operationId: approveShipmentDiversion summary: Approves a shipment diversion - '/shipments/{shipmentID}/reject': + "/shipments/{shipmentID}/reject": parameters: - description: ID of the shipment in: path @@ -1266,30 +1274,30 @@ paths: name: body required: true schema: - $ref: '#/definitions/RejectShipment' + $ref: "#/definitions/RejectShipment" responses: - '200': + "200": description: Successfully rejected the shipment schema: - $ref: 'definitions/MTOShipment.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOShipment.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - shipment description: rejects a shipment operationId: rejectShipment summary: rejects a shipment - '/shipments/{shipmentID}/request-cancellation': + "/shipments/{shipmentID}/request-cancellation": parameters: - description: ID of the shipment in: path @@ -1308,22 +1316,22 @@ paths: type: string required: true responses: - '200': + "200": description: Successfully requested the shipment cancellation schema: - $ref: 'definitions/MTOShipment.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOShipment.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - shipment description: Requests a shipment cancellation @@ -1331,7 +1339,7 @@ paths: summary: Requests a shipment cancellation x-permissions: - create.shipmentCancellation - '/shipments/{shipmentID}/request-reweigh': + "/shipments/{shipmentID}/request-reweigh": parameters: - description: ID of the shipment in: path @@ -1345,22 +1353,22 @@ paths: produces: - application/json responses: - '200': + "200": description: Successfully requested a reweigh of the shipment schema: - $ref: 'definitions/Reweigh.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/Reweigh.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - shipment - reweigh @@ -1369,7 +1377,7 @@ paths: summary: Requests a shipment reweigh x-permissions: - create.reweighRequest - '/shipments/{shipmentID}/review-shipment-address-update': + "/shipments/{shipmentID}/review-shipment-address-update": parameters: - description: ID of the shipment in: path @@ -1403,22 +1411,22 @@ paths: - officeRemarks - status responses: - '200': + "200": description: Successfully requested a shipment address update schema: - $ref: 'definitions/ShipmentAddressUpdate.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/ShipmentAddressUpdate.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - shipment - shipment_address_updates @@ -1426,7 +1434,7 @@ paths: Approving the address update will update the Destination Final Address of the associated service item operationId: reviewShipmentAddressUpdate summary: Allows TOO to review a shipment address update - '/shipments/{shipmentID}/sit-extensions': + "/shipments/{shipmentID}/sit-extensions": post: summary: Create an approved SIT Duration Update description: TOO can creates an already-approved SIT Duration Update on behalf of a customer @@ -1448,7 +1456,7 @@ paths: - in: body name: body schema: - $ref: '#/definitions/CreateApprovedSITDurationUpdate' + $ref: "#/definitions/CreateApprovedSITDurationUpdate" required: true - in: header description: We want the shipment's eTag rather than the SIT Duration Update eTag as the SIT Duration Update is always associated with a shipment @@ -1456,23 +1464,23 @@ paths: type: string required: true responses: - '200': + "200": description: Successfully created a SIT Extension. schema: - $ref: 'definitions/MTOShipment.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOShipment.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - create.SITExtension - '/shipments/{shipmentID}/sit-extensions/{sitExtensionID}/approve': + "/shipments/{shipmentID}/sit-extensions/{sitExtensionID}/approve": parameters: - description: ID of the shipment in: path @@ -1496,29 +1504,29 @@ paths: name: body required: true schema: - $ref: '#/definitions/ApproveSITExtension' + $ref: "#/definitions/ApproveSITExtension" - in: header description: We want the shipment's eTag rather than the SIT extension eTag as the SIT extension is always associated with a shipment name: If-Match type: string required: true responses: - '200': + "200": description: Successfully approved a SIT extension schema: - $ref: 'definitions/MTOShipment.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOShipment.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - shipment - sitExtension @@ -1527,7 +1535,7 @@ paths: summary: Approves a SIT extension x-permissions: - update.SITExtension - '/shipments/{shipmentID}/sit-extensions/{sitExtensionID}/deny': + "/shipments/{shipmentID}/sit-extensions/{sitExtensionID}/deny": parameters: - description: ID of the shipment in: path @@ -1551,28 +1559,28 @@ paths: name: body required: true schema: - $ref: '#/definitions/DenySITExtension' + $ref: "#/definitions/DenySITExtension" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: Successfully denied a SIT extension schema: - $ref: 'definitions/MTOShipment.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOShipment.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - shipment - sitExtension @@ -1581,7 +1589,7 @@ paths: summary: Denies a SIT extension x-permissions: - update.SITExtension - '/shipments/{shipmentID}/sit-service-item/convert-to-customer-expense': + "/shipments/{shipmentID}/sit-service-item/convert-to-customer-expense": parameters: - description: ID of the shipment in: path @@ -1599,28 +1607,28 @@ paths: name: body required: true schema: - $ref: '#/definitions/UpdateSITServiceItemCustomerExpense' + $ref: "#/definitions/UpdateSITServiceItemCustomerExpense" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: Successfully converted to customer expense schema: - $ref: 'definitions/MTOShipment.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOShipment.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - shipment - mtoServiceItem @@ -1650,22 +1658,22 @@ paths: produces: - application/json responses: - '200': + "200": description: All PPM documents and associated uploads for the specified PPM shipment. schema: - $ref: 'definitions/PPMDocuments.yaml' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/PPMDocuments.yaml" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /ppm-shipments/{ppmShipmentId}/weight-ticket/{weightTicketId}: parameters: - - $ref: 'parameters/ppmShipmentId.yaml' - - $ref: 'parameters/weightTicketId.yaml' + - $ref: "parameters/ppmShipmentId.yaml" + - $ref: "parameters/weightTicketId.yaml" patch: summary: Updates a weight ticket document description: | @@ -1679,35 +1687,35 @@ paths: produces: - application/json parameters: - - $ref: 'parameters/ifMatch.yaml' + - $ref: "parameters/ifMatch.yaml" - in: body name: updateWeightTicketPayload required: true schema: - $ref: '#/definitions/UpdateWeightTicket' + $ref: "#/definitions/UpdateWeightTicket" responses: - '200': + "200": description: returns an updated weight ticket object schema: - $ref: 'definitions/WeightTicket.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/WeightTicket.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /ppm-shipments/{ppmShipmentId}/moving-expenses/{movingExpenseId}: parameters: - - $ref: 'parameters/ppmShipmentId.yaml' - - $ref: 'parameters/movingExpenseId.yaml' + - $ref: "parameters/ppmShipmentId.yaml" + - $ref: "parameters/movingExpenseId.yaml" patch: summary: Updates the moving expense description: | @@ -1721,35 +1729,35 @@ paths: produces: - application/json parameters: - - $ref: 'parameters/ifMatch.yaml' + - $ref: "parameters/ifMatch.yaml" - in: body name: updateMovingExpense required: true schema: - $ref: '#/definitions/UpdateMovingExpense' + $ref: "#/definitions/UpdateMovingExpense" responses: - '200': + "200": description: returns an updated moving expense object schema: - $ref: 'definitions/MovingExpense.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' - /ppm-shipments/{ppmShipmentId}/pro-gear-weight-tickets/{proGearWeightTicketId}: - parameters: - - $ref: 'parameters/ppmShipmentId.yaml' - - $ref: 'parameters/proGearWeightTicketId.yaml' + $ref: "definitions/MovingExpense.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + ? /ppm-shipments/{ppmShipmentId}/pro-gear-weight-tickets/{proGearWeightTicketId} + : parameters: + - $ref: "parameters/ppmShipmentId.yaml" + - $ref: "parameters/proGearWeightTicketId.yaml" patch: summary: Updates a pro-gear weight ticket description: | @@ -1763,31 +1771,31 @@ paths: produces: - application/json parameters: - - $ref: 'parameters/ifMatch.yaml' + - $ref: "parameters/ifMatch.yaml" - in: body name: updateProGearWeightTicket required: true schema: - $ref: '#/definitions/UpdateProGearWeightTicket' + $ref: "#/definitions/UpdateProGearWeightTicket" responses: - '200': + "200": description: returns an updated pro-gear weight ticket object schema: - $ref: 'definitions/ProGearWeightTicket.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/ProGearWeightTicket.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /ppm-shipments/{ppmShipmentId}/aoa-packet: parameters: - description: the id for the ppmshipment with aoa to be downloaded @@ -1809,7 +1817,7 @@ paths: produces: - application/pdf responses: - '200': + "200": headers: Content-Disposition: type: string @@ -1818,19 +1826,19 @@ paths: schema: format: binary type: file - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /ppm-shipments/{ppmShipmentId}/finish-document-review: parameters: - - $ref: 'parameters/ppmShipmentId.yaml' + - $ref: "parameters/ppmShipmentId.yaml" patch: summary: Updates a PPM shipment's status after document review description: | @@ -1848,26 +1856,26 @@ paths: type: string required: true responses: - '200': + "200": description: Successfully finished document review schema: - $ref: 'definitions/PPMShipment.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/PPMShipment.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.shipment /ppm-shipments/{ppmShipmentId}/ppm-sit: @@ -1883,7 +1891,7 @@ paths: produces: - application/json parameters: - - $ref: 'parameters/ppmShipmentId.yaml' + - $ref: "parameters/ppmShipmentId.yaml" - in: header name: If-Match type: string @@ -1891,27 +1899,27 @@ paths: - in: body name: body schema: - $ref: 'definitions/PPMShipmentSIT.yaml' + $ref: "definitions/PPMShipmentSIT.yaml" responses: - '200': + "200": description: Successfully finished PPM SIT update schema: - $ref: 'definitions/PPMShipment.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/PPMShipment.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /ppm-shipments/{ppmShipmentId}/closeout: parameters: - - $ref: 'parameters/ppmShipmentId.yaml' + - $ref: "parameters/ppmShipmentId.yaml" get: summary: Get the closeout calcuations for the specified PPM shipment description: | @@ -1922,23 +1930,23 @@ paths: produces: - application/json responses: - '200': + "200": description: Returns closeout for the specified PPM shipment. schema: - $ref: 'definitions/PPMCloseout.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/PPMCloseout.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /ppm-shipments/{ppmShipmentId}/actual-weight: parameters: - - $ref: 'parameters/ppmShipmentId.yaml' + - $ref: "parameters/ppmShipmentId.yaml" get: summary: Get the actual weight for a PPM shipment description: | @@ -1949,23 +1957,23 @@ paths: produces: - application/json responses: - '200': + "200": description: Returns actual weight for the specified PPM shipment. schema: - $ref: 'definitions/PPMActualWeight.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/PPMActualWeight.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /ppm-shipments/{ppmShipmentId}/sit_location/{sitLocation}/sit-estimated-cost: parameters: - - $ref: 'parameters/ppmShipmentId.yaml' + - $ref: "parameters/ppmShipmentId.yaml" - in: path format: string description: location of sit @@ -2003,20 +2011,20 @@ paths: produces: - application/json responses: - '200': + "200": description: Calculates and returns the SIT estimated cost for the specified PPM shipment. schema: - $ref: 'definitions/PPMSITEstimatedCost.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/PPMSITEstimatedCost.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /ppm-shipments/{ppmShipmentId}/payment-packet: get: summary: Returns PPM payment packet @@ -2034,7 +2042,7 @@ paths: produces: - application/pdf responses: - '200': + "200": headers: Content-Disposition: type: string @@ -2043,17 +2051,17 @@ paths: schema: format: binary type: file - '400': + "400": description: invalid request - '401': + "401": description: request requires user authentication - '403': + "403": description: user is not authorized - '404': + "404": description: ppm not found - '500': + "500": description: internal server error - '/move_task_orders/{moveTaskOrderID}/mto_shipments/{shipmentID}/mto-agents': + "/move_task_orders/{moveTaskOrderID}/mto_shipments/{shipmentID}/mto-agents": parameters: - description: ID of move task order in: path @@ -2072,22 +2080,22 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved all agents for a move task order schema: - $ref: 'definitions/MTOAgents.yaml' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOAgents.yaml" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - mtoAgent description: Fetches a list of agents associated with a move task order. operationId: fetchMTOAgentList summary: Fetch move task order agents. - '/move-task-orders/{moveTaskOrderID}/service-items/{mtoServiceItemID}': + "/move-task-orders/{moveTaskOrderID}/service-items/{mtoServiceItemID}": parameters: - description: ID of move to use in: path @@ -2104,26 +2112,26 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved a line item for a move task order by ID schema: - $ref: 'definitions/MTOServiceItemSingle.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOServiceItemSingle.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - mtoServiceItem description: Gets a line item by ID for a move by ID operationId: getMTOServiceItem summary: Gets a line item by ID for a move by ID - '/move-task-orders/{moveTaskOrderID}/service-items/{mtoServiceItemID}/status': + "/move-task-orders/{moveTaskOrderID}/service-items/{mtoServiceItemID}/status": parameters: - description: ID of move to use in: path @@ -2145,32 +2153,32 @@ paths: name: body required: true schema: - $ref: '#/definitions/PatchMTOServiceItemStatusPayload' + $ref: "#/definitions/PatchMTOServiceItemStatusPayload" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: >- Successfully updated status for a line item for a move task order by ID schema: - $ref: 'definitions/MTOServiceItem.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOServiceItem.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - mtoServiceItem description: Changes the status of a line item for a move by ID @@ -2178,7 +2186,7 @@ paths: summary: Change the status of a line item for a move by ID x-permissions: - update.MTOServiceItem - '/service-item/{mtoServiceItemID}/entry-date-update': + "/service-item/{mtoServiceItemID}/entry-date-update": parameters: - description: ID of the service item in: path @@ -2195,32 +2203,32 @@ paths: name: body required: true schema: - $ref: 'definitions/ServiceItemSitEntryDate.yaml' + $ref: "definitions/ServiceItemSitEntryDate.yaml" responses: - '200': + "200": description: Successfully updated SIT entry date schema: - $ref: 'definitions/MTOServiceItemSingle.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/MTOServiceItemSingle.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - mtoServiceItem description: Locates the service item in the database and updates the SIT entry date for the selected service item and returns the service item operationId: updateServiceItemSitEntryDate summary: Updates a service item's SIT entry date by ID - '/move-task-orders/{moveTaskOrderID}/status': + "/move-task-orders/{moveTaskOrderID}/status": patch: consumes: - application/json @@ -2239,29 +2247,29 @@ paths: - in: body name: serviceItemCodes schema: - $ref: '#/definitions/MTOApprovalServiceItemCodes' + $ref: "#/definitions/MTOApprovalServiceItemCodes" required: true responses: - '200': + "200": description: Successfully updated move task order status schema: - $ref: '#/definitions/Move' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Move" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - moveTaskOrder description: Changes move task order status to make it available to prime @@ -2270,7 +2278,7 @@ paths: x-permissions: - update.move - create.serviceItem - '/move-task-orders/{moveTaskOrderID}/status/service-counseling-completed': + "/move-task-orders/{moveTaskOrderID}/status/service-counseling-completed": patch: consumes: - application/json @@ -2287,33 +2295,33 @@ paths: type: string required: true responses: - '200': + "200": description: Successfully updated move task order status schema: - $ref: '#/definitions/Move' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Move" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - moveTaskOrder description: Changes move (move task order) status to service counseling completed operationId: updateMTOStatusServiceCounselingCompleted summary: Changes move (move task order) status to service counseling completed - '/move-task-orders/{moveTaskOrderID}/payment-service-items/{paymentServiceItemID}/status': - parameters: + ? "/move-task-orders/{moveTaskOrderID}/payment-service-items/{paymentServiceItemID}/status" + : parameters: - description: ID of move to use in: path name: moveTaskOrderID @@ -2334,32 +2342,32 @@ paths: name: body required: true schema: - $ref: '#/definitions/PaymentServiceItem' + $ref: "#/definitions/PaymentServiceItem" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: >- Successfully updated status for a line item for a move task order by ID schema: - $ref: '#/definitions/PaymentServiceItem' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/PaymentServiceItem" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - paymentServiceItem description: Changes the status of a line item for a move by ID @@ -2367,7 +2375,7 @@ paths: summary: Change the status of a payment service item for a move by ID x-permissions: - update.paymentServiceItemStatus - '/move-task-orders/{moveTaskOrderID}/billable-weights-reviewed-at': + "/move-task-orders/{moveTaskOrderID}/billable-weights-reviewed-at": patch: consumes: - application/json @@ -2384,31 +2392,31 @@ paths: type: string required: true responses: - '200': + "200": description: Successfully updated move task order billableWeightsReviewedAt field schema: - $ref: '#/definitions/Move' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Move" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - moveTaskOrder description: Changes move (move task order) billableWeightsReviewedAt field to a timestamp operationId: updateMTOReviewedBillableWeightsAt - '/move-task-orders/{moveTaskOrderID}/tio-remarks': + "/move-task-orders/{moveTaskOrderID}/tio-remarks": patch: consumes: - application/json @@ -2428,33 +2436,33 @@ paths: name: body required: true schema: - $ref: '#/definitions/Move' + $ref: "#/definitions/Move" responses: - '200': + "200": description: Successfully updated move task order tioRemarks field schema: - $ref: '#/definitions/Move' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Move" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - moveTaskOrder description: Changes move (move task order) billableWeightsReviewedAt field to a timestamp operationId: updateMoveTIORemarks - '/move-task-orders/{moveTaskOrderID}/entitlements': + "/move-task-orders/{moveTaskOrderID}/entitlements": parameters: - description: ID of move to use in: path @@ -2468,24 +2476,24 @@ paths: tags: - moveTaskOrder responses: - '200': + "200": description: Successfully retrieved entitlements schema: - $ref: '#/definitions/Entitlements' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Entitlements" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" description: Gets entitlements operationId: getEntitlements summary: Gets entitlements for a move by ID - '/payment-requests/{paymentRequestID}': + "/payment-requests/{paymentRequestID}": parameters: - description: UUID of payment request format: uuid @@ -2498,20 +2506,20 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: fetched instance of payment request schema: - $ref: '#/definitions/PaymentRequest' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/PaymentRequest" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - paymentRequests description: Fetches an instance of a payment request by id @@ -2519,7 +2527,7 @@ paths: summary: Fetches a payment request by id x-permissions: - read.paymentRequest - '/moves/{locator}/closeout-office': + "/moves/{locator}/closeout-office": parameters: - description: move code to identify a move to update the PPM shipment's closeout office for Army and Air Force service members format: string @@ -2554,25 +2562,25 @@ paths: type: string required: true responses: - '200': + "200": description: Successfully set the closeout office for the move schema: - $ref: '#/definitions/Move' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' - '/moves/{locator}/customer-support-remarks': + $ref: "#/definitions/Move" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + "/moves/{locator}/customer-support-remarks": parameters: - description: move code to identify a move for customer support remarks format: string @@ -2589,20 +2597,20 @@ paths: - in: body name: body schema: - $ref: '#/definitions/CreateCustomerSupportRemark' + $ref: "#/definitions/CreateCustomerSupportRemark" responses: - '200': + "200": description: Successfully created customer support remark schema: - $ref: 'definitions/CustomerSupportRemark.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/CustomerSupportRemark.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - customerSupportRemarks description: Creates a customer support remark for a move @@ -2613,24 +2621,24 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved all line items for a move task order schema: - $ref: 'definitions/CustomerSupportRemarks.yaml' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/CustomerSupportRemarks.yaml" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - customerSupportRemarks description: Fetches customer support remarks for a move operationId: getCustomerSupportRemarksForMove summary: Fetches customer support remarks using the move code (locator). - '/customer-support-remarks/{customerSupportRemarkID}': + "/customer-support-remarks/{customerSupportRemarkID}": parameters: - in: path description: the customer support remark ID to be modified @@ -2653,22 +2661,22 @@ paths: name: body required: true schema: - $ref: '#/definitions/UpdateCustomerSupportRemarkPayload' + $ref: "#/definitions/UpdateCustomerSupportRemarkPayload" responses: - '200': + "200": description: Successfully updated customer support remark schema: - $ref: 'definitions/CustomerSupportRemark.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/CustomerSupportRemark.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" delete: summary: Soft deletes a customer support remark by ID description: Soft deletes a customer support remark by ID @@ -2678,21 +2686,21 @@ paths: produces: - application/json responses: - '204': + "204": description: Successfully soft deleted the shipment - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' - '/moves/{locator}/evaluation-reports': + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + "/moves/{locator}/evaluation-reports": parameters: - in: path name: locator @@ -2707,20 +2715,20 @@ paths: - in: body name: body schema: - $ref: '#/definitions/CreateEvaluationReport' + $ref: "#/definitions/CreateEvaluationReport" responses: - '200': + "200": description: Successfully created evaluation report schema: - $ref: '#/definitions/EvaluationReport' - '400': - $ref: '#/responses/InvalidRequest' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/EvaluationReport" + "400": + $ref: "#/responses/InvalidRequest" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - create.evaluationReport tags: @@ -2728,7 +2736,7 @@ paths: description: Creates an evaluation report operationId: createEvaluationReport summary: Creates an evaluation report - '/evaluation-reports/{reportID}/download': + "/evaluation-reports/{reportID}/download": parameters: - in: path description: the evaluation report ID to be downloaded @@ -2745,7 +2753,7 @@ paths: produces: - application/pdf responses: - '200': + "200": headers: Content-Disposition: type: string @@ -2754,13 +2762,13 @@ paths: schema: format: binary type: file - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' - '/evaluation-reports/{reportID}': + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" + "/evaluation-reports/{reportID}": parameters: - in: path description: the evaluation report ID to be modified @@ -2777,18 +2785,18 @@ paths: produces: - application/json responses: - '200': + "200": description: Successfully got the report schema: - $ref: '#/definitions/EvaluationReport' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/EvaluationReport" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" delete: summary: Deletes an evaluation report by ID description: Deletes an evaluation report by ID @@ -2800,20 +2808,20 @@ paths: produces: - application/json responses: - '204': + "204": description: Successfully deleted the report - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" put: summary: Saves an evaluation report as a draft description: Saves an evaluation report as a draft @@ -2830,7 +2838,7 @@ paths: - in: body name: body schema: - $ref: '#/definitions/EvaluationReport' + $ref: "#/definitions/EvaluationReport" - in: header name: If-Match type: string @@ -2839,23 +2847,23 @@ paths: Optimistic locking is implemented via the `If-Match` header. If the ETag header does not match the value of the resource on the server, the server rejects the change with a `412 Precondition Failed` error. responses: - '204': + "204": description: Successfully saved the report - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' - '/evaluation-reports/{reportID}/submit': + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + "/evaluation-reports/{reportID}/submit": parameters: - in: path description: the evaluation report ID to be modified @@ -2880,21 +2888,21 @@ paths: Optimistic locking is implemented via the `If-Match` header. If the ETag header does not match the value of the resource on the server, the server rejects the change with a `412 Precondition Failed` error. responses: - '204': + "204": description: Successfully submitted an evaluation report with the provided ID - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.evaluationReport - '/evaluation-reports/{reportID}/appeal/add': + "/evaluation-reports/{reportID}/appeal/add": parameters: - in: path description: the evaluation report ID @@ -2916,23 +2924,23 @@ paths: - in: body name: body schema: - $ref: '#/definitions/CreateAppeal' + $ref: "#/definitions/CreateAppeal" responses: - '204': + "204": description: Successfully added an appeal to a serious incident - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.evaluationReport - '/evaluation-reports/{reportID}/{reportViolationID}/appeal/add': + "/evaluation-reports/{reportID}/{reportViolationID}/appeal/add": parameters: - in: path description: the evaluation report ID @@ -2960,23 +2968,23 @@ paths: - in: body name: body schema: - $ref: '#/definitions/CreateAppeal' + $ref: "#/definitions/CreateAppeal" responses: - '204': + "204": description: Successfully added an appeal to a violation - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.evaluationReport - '/pws-violations': + "/pws-violations": get: summary: Fetch the possible PWS violations for an evaluation report description: Fetch the possible PWS violations for an evaluation report @@ -2986,19 +2994,19 @@ paths: produces: - application/json responses: - '200': + "200": description: Successfully retrieved the PWS violations schema: - $ref: '#/definitions/PWSViolations' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' - '/report-violations/{reportID}': + $ref: "#/definitions/PWSViolations" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" + "/report-violations/{reportID}": parameters: - in: path description: the evaluation report ID that has associated violations @@ -3015,18 +3023,18 @@ paths: produces: - application/json responses: - '200': + "200": description: Successfully retrieved the report violations schema: - $ref: '#/definitions/ReportViolations' - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/ReportViolations" + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" post: summary: Associate violations with an evaluation report description: >- @@ -3045,25 +3053,25 @@ paths: - in: body name: body schema: - $ref: '#/definitions/AssociateReportViolations' + $ref: "#/definitions/AssociateReportViolations" responses: - '204': + "204": description: Successfully saved the report violations - '400': - $ref: '#/responses/InvalidRequest' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '409': - $ref: '#/responses/Conflict' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + "400": + $ref: "#/responses/InvalidRequest" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "409": + $ref: "#/responses/Conflict" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - create.reportViolation - '/moves/{locator}/payment-requests': + "/moves/{locator}/payment-requests": parameters: - description: move code to identify a move for payment requests format: string @@ -3076,18 +3084,18 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved all line items for a move task order - schema: - $ref: '#/definitions/PaymentRequests' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + schema: + $ref: "#/definitions/PaymentRequests" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - paymentRequests description: Fetches payment requests for a move @@ -3095,7 +3103,7 @@ paths: summary: Fetches payment requests using the move code (locator). x-permissions: - read.paymentRequest - '/moves/{moveID}/financial-review-flag': + "/moves/{moveID}/financial-review-flag": parameters: - description: ID of move to flag in: path @@ -3133,20 +3141,20 @@ paths: example: false type: boolean responses: - '200': + "200": description: updated Move schema: - $ref: '#/definitions/Move' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Move" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" x-permissions: - update.financialReviewFlag /moves/{moveID}/uploadAdditionalDocuments: @@ -3171,25 +3179,25 @@ paths: description: The file to upload. required: true responses: - '201': + "201": description: created upload schema: - $ref: 'definitions/Upload.yaml' - '400': + $ref: "definitions/Upload.yaml" + "400": description: invalid request schema: - $ref: '#/definitions/InvalidRequestResponsePayload' - '403': + $ref: "#/definitions/InvalidRequestResponsePayload" + "403": description: not authorized - '404': + "404": description: not found - '413': + "413": description: payload is too large - '500': + "500": description: server error x-permissions: - create.supportingDocuments - '/payment-requests/{paymentRequestID}/shipments-payment-sit-balance': + "/payment-requests/{paymentRequestID}/shipments-payment-sit-balance": parameters: - description: payment request ID of the payment request with SIT service items being reviewed name: paymentRequestID @@ -3202,18 +3210,18 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved shipments and their SIT days balance from all payment requests on the move schema: - $ref: '#/definitions/ShipmentsPaymentSITBalance' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/ShipmentsPaymentSITBalance" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - paymentRequests description: Returns all shipment payment request SIT usage to support partial SIT invoicing @@ -3221,7 +3229,7 @@ paths: summary: Returns all shipment payment request SIT usage to support partial SIT invoicing x-permissions: - read.shipmentsPaymentSITBalance - '/payment-requests/{paymentRequestID}/status': + "/payment-requests/{paymentRequestID}/status": patch: consumes: - application/json @@ -3238,30 +3246,30 @@ paths: name: body required: true schema: - $ref: '#/definitions/UpdatePaymentRequestStatusPayload' + $ref: "#/definitions/UpdatePaymentRequestStatusPayload" - in: header name: If-Match type: string required: true responses: - '200': + "200": description: updated payment request schema: - $ref: '#/definitions/PaymentRequest' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/PaymentRequest" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" tags: - paymentRequests description: Updates status of a payment request by id @@ -3269,7 +3277,7 @@ paths: summary: Updates status of a payment request by id x-permissions: - update.paymentRequest - '/payment-requests/{paymentRequestID}/bulkDownload': + "/payment-requests/{paymentRequestID}/bulkDownload": parameters: - description: the id for the payment-request with files to be downloaded in: path @@ -3286,7 +3294,7 @@ paths: produces: - application/pdf responses: - '200': + "200": headers: Content-Disposition: type: string @@ -3295,10 +3303,10 @@ paths: schema: format: binary type: file - '400': - $ref: '#/responses/InvalidRequest' - '500': - $ref: '#/responses/ServerError' + "400": + $ref: "#/responses/InvalidRequest" + "500": + $ref: "#/responses/ServerError" /documents/{documentId}: get: summary: Returns a document @@ -3314,24 +3322,24 @@ paths: required: true description: UUID of the document to return responses: - '200': + "200": description: the requested document schema: - $ref: 'definitions/Document.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/Document.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /documents: post: summary: Create a new document @@ -3344,17 +3352,17 @@ paths: name: documentPayload required: true schema: - $ref: '#/definitions/PostDocumentPayload' + $ref: "#/definitions/PostDocumentPayload" responses: - '201': + "201": description: created document schema: - $ref: 'definitions/Document.yaml' - '400': + $ref: "definitions/Document.yaml" + "400": description: invalid request - '403': - $ref: '#/responses/PermissionDenied' - '500': + "403": + $ref: "#/responses/PermissionDenied" + "500": description: server error /queues/counseling: get: @@ -3505,14 +3513,14 @@ paths: description: | Used to illustrate which user is assigned to this payment request. responses: - '200': + "200": description: Successfully returned all moves matching the criteria schema: - $ref: '#/definitions/QueueMovesResult' - '403': - $ref: '#/responses/PermissionDenied' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/QueueMovesResult" + "403": + $ref: "#/responses/PermissionDenied" + "500": + $ref: "#/responses/ServerError" /queues/bulk-assignment: get: produces: @@ -3564,14 +3572,14 @@ paths: type: string description: Used to return an origins list for a GBLOC other than the default of the current user. Requires the HQ role or a secondary transportation office assignment. The parameter is ignored if the requesting user does not have the necessary role or assignment. responses: - '200': + "200": description: Successfully returned all moves matching the criteria schema: - $ref: '#/definitions/Locations' - '403': - $ref: '#/responses/PermissionDenied' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Locations" + "403": + $ref: "#/responses/PermissionDenied" + "500": + $ref: "#/responses/ServerError" /queues/prime-moves: get: summary: getPrimeMovesQueue @@ -3613,14 +3621,14 @@ paths: type: string description: order type responses: - '200': + "200": description: Successfully retrieved moves. A successful fetch might still return zero moves. schema: - $ref: '#/definitions/ListPrimeMovesResult' - '403': - $ref: '#/responses/PermissionDenied' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/ListPrimeMovesResult" + "403": + $ref: "#/responses/PermissionDenied" + "500": + $ref: "#/responses/ServerError" /queues/moves: get: produces: @@ -3727,14 +3735,14 @@ paths: type: string description: filters using a counselingOffice name of the move responses: - '200': + "200": description: Successfully returned all moves matching the criteria schema: - $ref: '#/definitions/QueueMovesResult' - '403': - $ref: '#/responses/PermissionDenied' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/QueueMovesResult" + "403": + $ref: "#/responses/PermissionDenied" + "500": + $ref: "#/responses/ServerError" /queues/destination-requests: get: produces: @@ -3861,7 +3869,20 @@ paths: - in: query name: sort type: string - enum: [customerName, locator, submittedAt, branch, status, edipi, emplid, age, originDutyLocation, assignedTo, counselingOffice] + enum: + [ + customerName, + locator, + submittedAt, + branch, + status, + edipi, + emplid, + age, + originDutyLocation, + assignedTo, + counselingOffice, + ] description: field that results should be sorted by - in: query name: order @@ -3935,14 +3956,14 @@ paths: description: | Used to return a queue for a GBLOC other than the default of the current user. Requires the HQ role or a secondary transportation office assignment. The parameter is ignored if the requesting user does not have the necessary role or assignment. responses: - '200': + "200": description: Successfully returned all moves matching the criteria schema: - $ref: '#/definitions/QueuePaymentRequestsResult' - '403': - $ref: '#/responses/PermissionDenied' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/QueuePaymentRequestsResult" + "403": + $ref: "#/responses/PermissionDenied" + "500": + $ref: "#/responses/ServerError" /moves/search: post: produces: @@ -4047,15 +4068,15 @@ paths: enum: [asc, desc] description: field that results should be sorted by responses: - '200': + "200": description: Successfully returned all moves matching the criteria schema: - $ref: '#/definitions/SearchMovesResult' - '403': - $ref: '#/responses/PermissionDenied' - '500': - $ref: '#/responses/ServerError' - '/tac/valid': + $ref: "#/definitions/SearchMovesResult" + "403": + $ref: "#/responses/PermissionDenied" + "500": + $ref: "#/responses/ServerError" + "/tac/valid": get: summary: Validation of a TAC value description: Returns a boolean based on whether a tac value is valid or not @@ -4070,23 +4091,23 @@ paths: required: true description: The tac value to validate responses: - '200': + "200": description: Successfully retrieved validation status schema: - $ref: '#/definitions/TacValid' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/TacValid" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" /lines-of-accounting: post: - summary: 'Fetch line of accounting' + summary: "Fetch line of accounting" description: > Fetches a line of accounting based on provided service member affiliation, effective date, and Transportation Accounting Code (TAC). It uses these parameters to filter the correct Line of Accounting for the provided TAC. It does this by filtering @@ -4098,33 +4119,33 @@ paths: tags: - linesOfAccounting consumes: - - 'application/json' + - "application/json" produces: - - 'application/json' + - "application/json" parameters: - - in: 'body' - name: 'body' - description: 'Service member affiliation, effective date, and TAC code.' + - in: "body" + name: "body" + description: "Service member affiliation, effective date, and TAC code." required: true schema: - $ref: '#/definitions/FetchLineOfAccountingPayload' + $ref: "#/definitions/FetchLineOfAccountingPayload" responses: - '200': - description: 'Successfully retrieved line of accounting' - schema: - $ref: 'definitions/LineOfAccounting.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + "200": + description: "Successfully retrieved line of accounting" + schema: + $ref: "definitions/LineOfAccounting.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /transportation-offices: get: produces: @@ -4142,20 +4163,20 @@ paths: minLength: 2 description: Search string for transportation offices responses: - '200': + "200": description: Successfully retrieved transportation offices schema: - $ref: '#/definitions/TransportationOffices' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/TransportationOffices" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" /open/transportation-offices: get: produces: @@ -4173,20 +4194,20 @@ paths: minLength: 2 description: Search string for transportation offices responses: - '200': + "200": description: Successfully retrieved transportation offices schema: - $ref: '#/definitions/TransportationOffices' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/TransportationOffices" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" /transportation-offices/gblocs: get: produces: @@ -4200,17 +4221,17 @@ paths: '200': description: Successfully retrieved GBLOCs schema: - $ref: '#/definitions/GBLOCs' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/GBLOCs" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" /addresses/zip-city-lookup/{search}: get: summary: Returns city, state, postal code, and county associated with the specified full/partial postal code or city and state string @@ -4219,12 +4240,12 @@ paths: tags: - addresses parameters: - - in: path - name: search - type: string - required: true + - in: path + name: search + type: string + required: true responses: - '200': + "200": description: the requested list of city, state, county, and postal code matches schema: $ref: "#/definitions/VLocations" @@ -4283,19 +4304,19 @@ paths: description: The file to upload. required: true responses: - '201': + "201": description: created upload schema: - $ref: 'definitions/Upload.yaml' - '400': + $ref: "definitions/Upload.yaml" + "400": description: invalid request - '403': + "403": description: not authorized - '404': + "404": description: not found - '413': + "413": description: payload is too large - '500': + "500": description: server error /re-service-items: get: @@ -4307,18 +4328,18 @@ paths: tags: - reServiceItems responses: - '200': + "200": description: Successfully retrieved all ReServiceItems. schema: - $ref: '#/definitions/ReServiceItems' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/ReServiceItems" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" /uploads/{uploadID}: delete: summary: Deletes an upload @@ -4339,17 +4360,17 @@ paths: format: uuid description: ID of the order that the upload belongs to responses: - '204': + "204": description: deleted - '400': + "400": description: invalid request schema: - $ref: '#/definitions/InvalidRequestResponsePayload' - '403': + $ref: "#/definitions/InvalidRequestResponsePayload" + "403": description: not authorized - '404': + "404": description: not found - '500': + "500": description: server error /uploads/get/: get: @@ -4357,20 +4378,20 @@ paths: - application/json parameters: [] responses: - '200': + "200": description: Successfully retrieved upload schema: - $ref: 'definitions/Upload.yaml' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "definitions/Upload.yaml" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - uploads description: Gets an upload @@ -4405,19 +4426,19 @@ paths: minimum: 0 maximum: 3 responses: - '201': + "201": description: updated upload schema: - $ref: 'definitions/Upload.yaml' - '400': + $ref: "definitions/Upload.yaml" + "400": description: invalid request - '403': + "403": description: not authorized - '404': + "404": description: not found - '413': + "413": description: payload is too large - '500': + "500": description: server error /application_parameters/{parameterName}: get: @@ -4434,15 +4455,15 @@ paths: required: true description: Parameter Name responses: - '200': + "200": description: Application Parameters schema: - $ref: '#/definitions/ApplicationParameters' - '400': + $ref: "#/definitions/ApplicationParameters" + "400": description: invalid request - '401': + "401": description: request requires user authentication - '500': + "500": description: server error /calendar/{countryCode}/is-weekend-holiday/{date}: get: @@ -4469,18 +4490,18 @@ paths: type: string format: date responses: - '200': + "200": description: Successfully determine if given date is weekend and/or holiday for given country. schema: - $ref: '#/definitions/IsDateWeekendHolidayInfo' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/IsDateWeekendHolidayInfo" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" /moves/{moveID}/assignOfficeUser: parameters: - description: ID of the move @@ -4499,16 +4520,16 @@ paths: name: body required: true schema: - $ref: '#/definitions/AssignOfficeUserBody' + $ref: "#/definitions/AssignOfficeUserBody" responses: - '200': + "200": description: Successfully assigned office user to the move schema: - $ref: '#/definitions/Move' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Move" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" tags: - move description: assigns either a services counselor, task ordering officer, or task invoicing officer to the move @@ -4535,12 +4556,12 @@ paths: produces: - application/json responses: - '200': + "200": description: Successfully unassigned office user from the move schema: - $ref: '#/definitions/Move' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/Move" + "500": + $ref: "#/responses/ServerError" tags: - move description: unassigns either a services counselor, task ordering officer, or task invoicing officer from the move @@ -4559,7 +4580,7 @@ paths: produces: - application/json responses: - '200': + "200": description: Successfully unlocked officer's move(s). schema: type: object @@ -4567,8 +4588,8 @@ paths: successMessage: type: string example: OK - '500': - $ref: '#/responses/ServerError' + "500": + $ref: "#/responses/ServerError" tags: - move description: >- @@ -4620,7 +4641,7 @@ definitions: - instance ValidationError: allOf: - - $ref: '#/definitions/ClientError' + - $ref: "#/definitions/ClientError" - type: object properties: invalid_fields: @@ -4712,17 +4733,17 @@ definitions: type: string format: uuid transportationOffice: - $ref: 'definitions/TransportationOffice.yaml' + $ref: "definitions/TransportationOffice.yaml" transportationOfficeAssignments: type: array items: - $ref: 'definitions/TransportationOfficeAssignment.yaml' + $ref: "definitions/TransportationOfficeAssignment.yaml" active: type: boolean roles: type: array items: - $ref: '#/definitions/Role' + $ref: "#/definitions/Role" edipi: type: string otherUniqueId: @@ -4770,18 +4791,18 @@ definitions: type: string format: uuid transportationOffice: - $ref: 'definitions/TransportationOffice.yaml' + $ref: "definitions/TransportationOffice.yaml" OfficeUserCreate: type: object properties: email: type: string - example: 'user@userdomain.com' + example: "user@userdomain.com" title: Email x-nullable: false edipi: type: string - example: '1234567890' + example: "1234567890" maxLength: 10 title: EDIPI x-nullable: true @@ -4811,12 +4832,12 @@ definitions: transportationOfficeId: type: string format: uuid - example: 'c56a4180-65aa-42ec-a945-5fd21dec0538' + example: "c56a4180-65aa-42ec-a945-5fd21dec0538" x-nullable: false roles: type: array items: - $ref: '#/definitions/OfficeUserRole' + $ref: "#/definitions/OfficeUserRole" x-nullable: false required: - firstName @@ -4830,12 +4851,12 @@ definitions: properties: name: type: string - example: 'Task Ordering Officer' + example: "Task Ordering Officer" x-nullable: true title: name roleType: type: string - example: 'task_ordering_officer' + example: "task_ordering_officer" x-nullable: true title: roleType Customer: @@ -4869,9 +4890,9 @@ definitions: example: David x-nullable: true current_address: - $ref: 'definitions/Address.yaml' + $ref: "definitions/Address.yaml" backup_contact: - $ref: '#/definitions/BackupContact' + $ref: "#/definitions/BackupContact" id: type: string format: uuid @@ -4894,7 +4915,7 @@ definitions: pattern: '^[2-9]\d{2}-\d{3}-\d{4}$|^$' x-nullable: true backupAddress: - $ref: 'definitions/Address.yaml' + $ref: "definitions/Address.yaml" cacValidated: type: boolean x-nullable: true @@ -4931,9 +4952,9 @@ definitions: example: David x-nullable: true residentialAddress: - $ref: 'definitions/Address.yaml' + $ref: "definitions/Address.yaml" backupContact: - $ref: '#/definitions/BackupContact' + $ref: "#/definitions/BackupContact" id: type: string format: uuid @@ -4959,7 +4980,7 @@ definitions: pattern: '^[2-9]\d{2}-\d{3}-\d{4}$' x-nullable: true backupAddress: - $ref: 'definitions/Address.yaml' + $ref: "definitions/Address.yaml" cacValidated: type: boolean UpdateCustomerPayload: @@ -4991,9 +5012,9 @@ definitions: x-nullable: true current_address: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" backup_contact: - $ref: '#/definitions/BackupContact' + $ref: "#/definitions/BackupContact" phoneIsPreferred: type: boolean emailIsPreferred: @@ -5005,22 +5026,22 @@ definitions: x-nullable: true backupAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" cac_validated: type: boolean CreateCustomerPayload: type: object properties: affiliation: - $ref: 'definitions/Affiliation.yaml' + $ref: "definitions/Affiliation.yaml" edipi: type: string - example: '1234567890' + example: "1234567890" maxLength: 10 x-nullable: false emplid: type: string - example: '9485155' + example: "9485155" maxLength: 7 x-nullable: true firstName: @@ -5058,12 +5079,12 @@ definitions: type: boolean residentialAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" backupContact: - $ref: '#/definitions/BackupContact' + $ref: "#/definitions/BackupContact" backupMailingAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" createOktaAccount: type: boolean cacUser: @@ -5072,7 +5093,7 @@ definitions: type: object properties: departmentIndicator: - $ref: 'definitions/DepartmentIndicator.yaml' + $ref: "definitions/DepartmentIndicator.yaml" effectiveDate: description: > The effective date for the Line Of Accounting (LOA) being fetched. Eg, the orders issue date or the Non-Temporary Storage (NTS) Move Task Order (MTO) approval date. @@ -5083,12 +5104,12 @@ definitions: users per customer request). type: string format: date - example: '2023-01-01' + example: "2023-01-01" tacCode: type: string minLength: 4 maxLength: 4 - example: 'F8J1' + example: "F8J1" SearchCustomersResult: type: object properties: @@ -5099,11 +5120,11 @@ definitions: totalCount: type: integer searchCustomers: - $ref: '#/definitions/SearchCustomers' + $ref: "#/definitions/SearchCustomers" SearchCustomers: type: array items: - $ref: '#/definitions/SearchCustomer' + $ref: "#/definitions/SearchCustomer" SearchCustomer: type: object properties: @@ -5155,6 +5176,9 @@ definitions: gunSafe: type: boolean example: false + adminRestrictedWeightLocation: + type: boolean + example: false nonTemporaryStorage: example: false type: boolean @@ -5209,6 +5233,10 @@ definitions: example: 3 x-nullable: true description: Indicates the number of dependents of the age twelve or older for a move. This is only present on OCONUS moves. + weightRestriction: + type: integer + example: 1500 + description: The amount of weight in pounds that the move is restricted to for a particular location. eTag: type: string type: object @@ -5310,22 +5338,22 @@ definitions: format: uuid x-nullable: true contractor: - $ref: '#/definitions/Contractor' + $ref: "#/definitions/Contractor" locator: type: string - example: '1K43AR' + example: "1K43AR" ordersId: type: string format: uuid example: c56a4180-65aa-42ec-a945-5fd21dec0538 orders: - $ref: '#/definitions/Order' + $ref: "#/definitions/Order" referenceId: example: 1001-3456 type: string x-nullable: true status: - $ref: '#/definitions/MoveStatus' + $ref: "#/definitions/MoveStatus" excessUnaccompaniedBaggageWeightQualifiedAt: type: string format: date-time @@ -5362,7 +5390,7 @@ definitions: x-nullable: true readOnly: true closeoutOffice: - $ref: 'definitions/TransportationOffice.yaml' + $ref: "definitions/TransportationOffice.yaml" closeoutOfficeId: type: string format: uuid @@ -5386,26 +5414,26 @@ definitions: eTag: type: string shipmentGBLOC: - $ref: '#/definitions/GBLOC' + $ref: "#/definitions/GBLOC" lockedByOfficeUserID: type: string format: uuid x-nullable: true lockedByOfficeUser: - $ref: '#/definitions/LockedOfficeUser' + $ref: "#/definitions/LockedOfficeUser" x-nullable: true lockExpiresAt: type: string format: date-time x-nullable: true additionalDocuments: - $ref: 'definitions/Document.yaml' + $ref: "definitions/Document.yaml" SCAssignedUser: - $ref: '#/definitions/AssignedOfficeUser' + $ref: "#/definitions/AssignedOfficeUser" TOOAssignedUser: - $ref: '#/definitions/AssignedOfficeUser' + $ref: "#/definitions/AssignedOfficeUser" TIOAssignedUser: - $ref: '#/definitions/AssignedOfficeUser' + $ref: "#/definitions/AssignedOfficeUser" MoveHistory: properties: id: @@ -5415,11 +5443,11 @@ definitions: type: string historyRecords: description: A list of MoveAuditHistory's connected to the move. - $ref: '#/definitions/MoveAuditHistories' + $ref: "#/definitions/MoveAuditHistories" locator: description: move locator type: string - example: '1K43AR' + example: "1K43AR" referenceId: description: move referenceID example: 1001-3456 @@ -5441,11 +5469,11 @@ definitions: type: string historyRecords: description: A list of MoveAuditHistory's connected to the move. - $ref: '#/definitions/MoveAuditHistories' + $ref: "#/definitions/MoveAuditHistories" locator: description: move locator type: string - example: '1K43AR' + example: "1K43AR" referenceId: description: move referenceID example: 1001-3456 @@ -5454,7 +5482,7 @@ definitions: MoveAuditHistories: type: array items: - $ref: '#/definitions/MoveAuditHistory' + $ref: "#/definitions/MoveAuditHistory" MoveAuditHistory: properties: id: @@ -5551,7 +5579,7 @@ definitions: MoveAuditHistoryItems: type: array items: - $ref: '#/definitions/MoveAuditHistoryItem' + $ref: "#/definitions/MoveAuditHistoryItem" MoveAuditHistoryItem: properties: columnName: @@ -5628,10 +5656,10 @@ definitions: format: uuid type: string customer: - $ref: '#/definitions/Customer' + $ref: "#/definitions/Customer" moveCode: type: string - example: 'H2XFJF' + example: "H2XFJF" first_name: type: string example: John @@ -5641,19 +5669,19 @@ definitions: example: Doe readOnly: true grade: - $ref: '#/definitions/Grade' + $ref: "#/definitions/Grade" agency: - $ref: 'definitions/Affiliation.yaml' + $ref: "definitions/Affiliation.yaml" entitlement: - $ref: '#/definitions/Entitlements' + $ref: "#/definitions/Entitlements" destinationDutyLocation: - $ref: 'definitions/DutyLocation.yaml' + $ref: "definitions/DutyLocation.yaml" destinationDutyLocationGBLOC: - $ref: '#/definitions/GBLOC' + $ref: "#/definitions/GBLOC" originDutyLocation: - $ref: 'definitions/DutyLocation.yaml' + $ref: "definitions/DutyLocation.yaml" originDutyLocationGBLOC: - $ref: '#/definitions/GBLOC' + $ref: "#/definitions/GBLOC" moveTaskOrderID: example: c56a4180-65aa-42ec-a945-5fd21dec0538 format: uuid @@ -5674,42 +5702,42 @@ definitions: order_number: type: string x-nullable: true - example: '030-00362' + example: "030-00362" order_type: - $ref: 'definitions/OrdersType.yaml' + $ref: "definitions/OrdersType.yaml" order_type_detail: - $ref: '#/definitions/OrdersTypeDetail' + $ref: "#/definitions/OrdersTypeDetail" x-nullable: true date_issued: type: string format: date - example: '2020-01-01' + example: "2020-01-01" report_by_date: type: string format: date - example: '2020-01-01' + example: "2020-01-01" department_indicator: - $ref: '#/definitions/DeptIndicator' + $ref: "#/definitions/DeptIndicator" x-nullable: true tac: type: string title: TAC - example: 'F8J1' + example: "F8J1" x-nullable: true sac: type: string title: SAC - example: 'N002214CSW32Y9' + example: "N002214CSW32Y9" x-nullable: true ntsTac: type: string title: NTS TAC - example: 'F8J1' + example: "F8J1" x-nullable: true ntsSac: type: string title: NTS SAC - example: 'N002214CSW32Y9' + example: "N002214CSW32Y9" x-nullable: true has_dependents: type: boolean @@ -5728,7 +5756,7 @@ definitions: naics: type: string orders_type: - $ref: 'definitions/OrdersType.yaml' + $ref: "definitions/OrdersType.yaml" eTag: type: string type: object @@ -5747,7 +5775,7 @@ definitions: Locations: type: array items: - $ref: '#/definitions/Location' + $ref: "#/definitions/Location" OrderBody: type: object properties: @@ -5772,9 +5800,9 @@ definitions: format: date title: Report-by date ordersType: - $ref: 'definitions/OrdersType.yaml' + $ref: "definitions/OrdersType.yaml" ordersTypeDetail: - $ref: '#/definitions/OrdersTypeDetail' + $ref: "#/definitions/OrdersTypeDetail" hasDependents: type: boolean title: Are dependents included in your orders? @@ -5794,21 +5822,21 @@ definitions: type: string title: Orders Number x-nullable: true - example: '030-00362' + example: "030-00362" tac: type: string title: TAC - example: 'F8J1' + example: "F8J1" x-nullable: true sac: type: string title: SAC - example: 'N002214CSW32Y9' + example: "N002214CSW32Y9" x-nullable: true departmentIndicator: - $ref: '#/definitions/DeptIndicator' + $ref: "#/definitions/DeptIndicator" grade: - $ref: '#/definitions/Grade' + $ref: "#/definitions/Grade" originDutyLocationId: type: string format: uuid @@ -5843,25 +5871,25 @@ definitions: type: string description: The date and time that these orders were cut. format: date - example: '2018-04-26' + example: "2018-04-26" title: Orders date reportByDate: type: string description: Report By Date format: date - example: '2018-04-26' + example: "2018-04-26" title: Report-by date ordersType: - $ref: 'definitions/OrdersType.yaml' + $ref: "definitions/OrdersType.yaml" ordersTypeDetail: - $ref: '#/definitions/OrdersTypeDetail' + $ref: "#/definitions/OrdersTypeDetail" ordersNumber: type: string title: Orders Number x-nullable: true - example: '030-00362' + example: "030-00362" departmentIndicator: - $ref: '#/definitions/DeptIndicator' + $ref: "#/definitions/DeptIndicator" x-nullable: true originDutyLocationId: type: string @@ -5876,21 +5904,21 @@ definitions: title: HHG TAC minLength: 4 maxLength: 4 - example: 'F8J1' + example: "F8J1" x-nullable: true sac: title: HHG SAC - example: 'N002214CSW32Y9' + example: "N002214CSW32Y9" $ref: definitions/NullableString.yaml ntsTac: title: NTS TAC minLength: 4 maxLength: 4 - example: 'F8J1' + example: "F8J1" $ref: definitions/NullableString.yaml ntsSac: title: NTS SAC - example: 'N002214CSW32Y9' + example: "N002214CSW32Y9" $ref: definitions/NullableString.yaml grade: $ref: '#/definitions/Grade' @@ -5911,18 +5939,18 @@ definitions: type: string description: The date and time that these orders were cut. format: date - example: '2018-04-26' + example: "2018-04-26" title: Orders date reportByDate: type: string description: Report By Date format: date - example: '2018-04-26' + example: "2018-04-26" title: Report-by date ordersType: - $ref: 'definitions/OrdersType.yaml' + $ref: "definitions/OrdersType.yaml" ordersTypeDetail: - $ref: '#/definitions/OrdersTypeDetail' + $ref: "#/definitions/OrdersTypeDetail" originDutyLocationId: type: string format: uuid @@ -5935,37 +5963,37 @@ definitions: type: string title: Orders Number x-nullable: true - example: '030-00362' + example: "030-00362" tac: type: string title: HHG TAC minLength: 4 maxLength: 4 - example: 'F8J1' + example: "F8J1" x-nullable: true sac: title: HHG SAC - example: 'N002214CSW32Y9' + example: "N002214CSW32Y9" $ref: definitions/NullableString.yaml ntsTac: title: NTS TAC minLength: 4 maxLength: 4 - example: 'F8J1' + example: "F8J1" $ref: definitions/NullableString.yaml ntsSac: title: NTS SAC - example: 'N002214CSW32Y9' + example: "N002214CSW32Y9" $ref: definitions/NullableString.yaml departmentIndicator: - $ref: '#/definitions/DeptIndicator' + $ref: "#/definitions/DeptIndicator" x-nullable: true ordersAcknowledgement: description: Confirmation that the new amended orders were reviewed after previously approving the original orders type: boolean x-nullable: true grade: - $ref: '#/definitions/Grade' + $ref: "#/definitions/Grade" required: - issueDate - reportByDate @@ -5976,12 +6004,12 @@ definitions: type: object properties: grade: - $ref: '#/definitions/Grade' + $ref: "#/definitions/Grade" dependentsAuthorized: type: boolean x-nullable: true agency: - $ref: 'definitions/Affiliation.yaml' + $ref: "definitions/Affiliation.yaml" proGearWeight: description: unit is in lbs example: 2000 @@ -6016,6 +6044,10 @@ definitions: description: True if user is entitled to move a gun safe (up to 500 lbs) as part of their move without it being charged against their weight allowance. type: boolean x-nullable: true + adminRestrictedWeightLocation: + description: Indicates if the customer is restricted to a specific location for their admin restricted weight. + type: boolean + x-nullable: true accompaniedTour: type: boolean example: true @@ -6035,6 +6067,9 @@ definitions: example: 500 type: integer x-nullable: true + weightRestriction: + example: 1500 + type: integer UpdateBillableWeightPayload: type: object properties: @@ -6068,12 +6103,12 @@ definitions: type: object properties: grade: - $ref: '#/definitions/Grade' + $ref: "#/definitions/Grade" dependentsAuthorized: type: boolean x-nullable: true agency: - $ref: 'definitions/Affiliation.yaml' + $ref: "definitions/Affiliation.yaml" proGearWeight: minimum: 0 maximum: 2000 @@ -6108,6 +6143,10 @@ definitions: description: True if user is entitled to move a gun safe (up to 500 lbs) as part of their move without it being charged against their weight allowance. type: boolean x-nullable: true + adminRestrictedWeightLocation: + description: Indicates if the customer is restricted to a specific location for their admin restricted weight. + type: boolean + x-nullable: true accompaniedTour: type: boolean example: true @@ -6127,6 +6166,12 @@ definitions: example: 500 type: integer x-nullable: true + weightRestriction: + example: 1500 + type: integer + description: unit is in lbs + x-formatting: weight + x-nullable: true MoveTaskOrder: description: The Move (MoveTaskOrder) properties: @@ -6143,7 +6188,7 @@ definitions: type: string locator: type: string - example: '1K43AR' + example: "1K43AR" referenceId: example: 1001-3456 type: string @@ -6163,9 +6208,9 @@ definitions: format: date-time type: string destinationAddress: - $ref: 'definitions/Address.yaml' + $ref: "definitions/Address.yaml" pickupAddress: - $ref: 'definitions/Address.yaml' + $ref: "definitions/Address.yaml" destinationDutyLocation: example: 1f2270c7-7166-40ae-981e-b200ebdf3054 format: uuid @@ -6175,7 +6220,7 @@ definitions: format: uuid type: string entitlements: - $ref: '#/definitions/Entitlements' + $ref: "#/definitions/Entitlements" requestedPickupDate: format: date type: string @@ -6188,12 +6233,12 @@ definitions: type: object MoveTaskOrders: items: - $ref: '#/definitions/MoveTaskOrder' + $ref: "#/definitions/MoveTaskOrder" type: array PaymentRequest: properties: proofOfServiceDocs: - $ref: '#/definitions/ProofOfServiceDocs' + $ref: "#/definitions/ProofOfServiceDocs" id: example: c56a4180-65aa-42ec-a945-5fd21dec0538 format: uuid @@ -6203,7 +6248,7 @@ definitions: default: false type: boolean moveTaskOrder: - $ref: '#/definitions/Move' + $ref: "#/definitions/Move" moveTaskOrderID: example: c56a4180-65aa-42ec-a945-5fd21dec0538 format: uuid @@ -6213,9 +6258,9 @@ definitions: type: string x-nullable: true serviceItems: - $ref: '#/definitions/PaymentServiceItems' + $ref: "#/definitions/PaymentServiceItems" status: - $ref: '#/definitions/PaymentRequestStatus' + $ref: "#/definitions/PaymentRequestStatus" paymentRequestNumber: example: 1234-5678-1 readOnly: true @@ -6268,11 +6313,11 @@ definitions: type: object PaymentRequests: items: - $ref: '#/definitions/PaymentRequest' + $ref: "#/definitions/PaymentRequest" type: array PaymentServiceItems: items: - $ref: '#/definitions/PaymentServiceItem' + $ref: "#/definitions/PaymentServiceItem" type: array PaymentServiceItem: properties: @@ -6299,14 +6344,14 @@ definitions: example: Move management type: string mtoShipmentType: - $ref: 'definitions/MTOShipmentType.yaml' + $ref: "definitions/MTOShipmentType.yaml" mtoShipmentID: type: string format: uuid example: c56a4180-65aa-42ec-a945-5fd21dec0538 x-nullable: true status: - $ref: 'definitions/PaymentServiceItemStatus.yaml' + $ref: "definitions/PaymentServiceItemStatus.yaml" priceCents: type: integer format: cents @@ -6321,7 +6366,7 @@ definitions: readOnly: true format: string paymentServiceItemParams: - $ref: 'definitions/PaymentServiceItemParams.yaml' + $ref: "definitions/PaymentServiceItemParams.yaml" eTag: type: string tppsInvoiceAmountPaidPerServiceItemMillicents: @@ -6331,10 +6376,10 @@ definitions: x-nullable: true type: object PaymentRequestStatus: - $ref: 'definitions/PaymentRequestStatus.yaml' + $ref: "definitions/PaymentRequestStatus.yaml" ProofOfServiceDocs: items: - $ref: '#/definitions/ProofOfServiceDoc' + $ref: "#/definitions/ProofOfServiceDoc" type: array ProofOfServiceDoc: properties: @@ -6342,11 +6387,11 @@ definitions: type: boolean uploads: items: - $ref: 'definitions/Upload.yaml' + $ref: "definitions/Upload.yaml" type: array ShipmentsPaymentSITBalance: items: - $ref: '#/definitions/ShipmentPaymentSITBalance' + $ref: "#/definitions/ShipmentPaymentSITBalance" type: array ShipmentPaymentSITBalance: properties: @@ -6386,7 +6431,7 @@ definitions: type: object properties: shipmentType: - $ref: 'definitions/MTOShipmentType.yaml' + $ref: "definitions/MTOShipmentType.yaml" requestedPickupDate: format: date type: string @@ -6415,16 +6460,16 @@ definitions: x-nullable: true pickupAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" destinationAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" secondaryDeliveryAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" secondaryPickupAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" hasSecondaryPickupAddress: type: boolean x-nullable: true @@ -6435,10 +6480,10 @@ definitions: x-omitempty: false tertiaryDeliveryAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" tertiaryPickupAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" hasTertiaryPickupAddress: type: boolean x-nullable: true @@ -6456,14 +6501,14 @@ definitions: x-nullable: true x-omitempty: false destinationType: - $ref: 'definitions/DestinationType.yaml' + $ref: "definitions/DestinationType.yaml" agents: - $ref: 'definitions/MTOAgents.yaml' + $ref: "definitions/MTOAgents.yaml" x-nullable: true tacType: - $ref: 'definitions/LOATypeNullable.yaml' + $ref: "definitions/LOATypeNullable.yaml" sacType: - $ref: 'definitions/LOATypeNullable.yaml' + $ref: "definitions/LOATypeNullable.yaml" usesExternalVendor: type: boolean example: false @@ -6479,13 +6524,13 @@ definitions: x-nullable: true storageFacility: x-nullable: true - $ref: 'definitions/StorageFacility.yaml' + $ref: "definitions/StorageFacility.yaml" ppmShipment: - $ref: '#/definitions/UpdatePPMShipment' + $ref: "#/definitions/UpdatePPMShipment" boatShipment: - $ref: '#/definitions/UpdateBoatShipment' + $ref: "#/definitions/UpdateBoatShipment" mobileHomeShipment: - $ref: '#/definitions/UpdateMobileHomeShipment' + $ref: "#/definitions/UpdateMobileHomeShipment" UpdatePPMShipment: type: object properties: @@ -6501,34 +6546,34 @@ definitions: x-nullable: true pickupAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" actualPickupPostalCode: description: > The actual postal code where the PPM shipment started. To be filled once the customer has moved the shipment. format: zip type: string title: ZIP - example: '90210' + example: "90210" pattern: ^(\d{5})$ x-nullable: true secondaryPickupAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" destinationAddress: allOf: - - $ref: 'definitions/PPMDestinationAddress.yaml' + - $ref: "definitions/PPMDestinationAddress.yaml" actualDestinationPostalCode: description: > The actual postal code where the PPM shipment ended. To be filled once the customer has moved the shipment. format: zip type: string title: ZIP - example: '90210' + example: "90210" pattern: ^(\d{5})$ x-nullable: true secondaryDestinationAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" hasSecondaryPickupAddress: type: boolean x-nullable: true @@ -6539,10 +6584,10 @@ definitions: x-omitempty: false tertiaryPickupAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" tertiaryDestinationAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" hasTertiaryPickupAddress: type: boolean x-nullable: true @@ -6553,13 +6598,13 @@ definitions: x-omitempty: false w2Address: x-nullable: true - $ref: 'definitions/Address.yaml' + $ref: "definitions/Address.yaml" sitExpected: type: boolean x-nullable: true sitLocation: allOf: - - $ref: 'definitions/SITLocationType.yaml' + - $ref: "definitions/SITLocationType.yaml" - x-nullable: true sitEstimatedWeight: type: integer @@ -6617,7 +6662,7 @@ definitions: format: cents x-nullable: true advanceStatus: - $ref: 'definitions/PPMAdvanceStatus.yaml' + $ref: "definitions/PPMAdvanceStatus.yaml" x-nullable: true isActualExpenseReimbursement: description: Used for PPM shipments only. Denotes if this shipment uses the Actual Expense Reimbursement method. @@ -6711,7 +6756,7 @@ definitions: description: Indicates if the trailer that the customer used meets all the criteria to be claimable. type: boolean status: - $ref: 'definitions/PPMDocumentStatus.yaml' + $ref: "definitions/PPMDocumentStatus.yaml" reason: description: The reason the services counselor has excluded or rejected the item. type: string @@ -6726,7 +6771,7 @@ definitions: type: object properties: movingExpenseType: - $ref: 'definitions/OmittableMovingExpenseType.yaml' + $ref: "definitions/OmittableMovingExpenseType.yaml" description: description: A brief description of the expense. type: string @@ -6744,7 +6789,7 @@ definitions: type: string format: date status: - $ref: 'definitions/PPMDocumentStatus.yaml' + $ref: "definitions/PPMDocumentStatus.yaml" reason: description: The reason the services counselor has excluded or rejected the item. type: string @@ -6753,7 +6798,7 @@ definitions: type: integer sitLocation: allOf: - - $ref: 'definitions/SITLocationType.yaml' + - $ref: "definitions/SITLocationType.yaml" - x-nullable: true sitEstimatedCost: description: The estimated amount that the government will pay the service member to put their goods into storage. This estimated storage cost is separate from the estimated incentive. @@ -6781,13 +6826,13 @@ definitions: type: integer minimum: 0 status: - $ref: 'definitions/PPMDocumentStatus.yaml' + $ref: "definitions/PPMDocumentStatus.yaml" reason: description: The reason the services counselor has excluded or rejected the item. type: string MTOShipments: items: - $ref: 'definitions/MTOShipment.yaml' + $ref: "definitions/MTOShipment.yaml" type: array CreateMTOShipment: type: object @@ -6833,17 +6878,17 @@ definitions: example: handle with care x-nullable: true agents: - $ref: 'definitions/MTOAgents.yaml' + $ref: "definitions/MTOAgents.yaml" mtoServiceItems: - $ref: 'definitions/MTOServiceItems.yaml' + $ref: "definitions/MTOServiceItems.yaml" pickupAddress: description: The address where the movers should pick up this shipment. allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" destinationAddress: description: Where the movers should deliver this shipment. allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" hasSecondaryPickupAddress: type: boolean x-nullable: true @@ -6851,7 +6896,7 @@ definitions: secondaryPickupAddress: description: The address where the movers should pick up this shipment. allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" hasSecondaryDeliveryAddress: type: boolean x-nullable: true @@ -6859,7 +6904,7 @@ definitions: secondaryDeliveryAddress: description: Where the movers should deliver this shipment. allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" hasTertiaryPickupAddress: type: boolean x-nullable: true @@ -6867,7 +6912,7 @@ definitions: tertiaryPickupAddress: description: The address where the movers should pick up this shipment. allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" hasTertiaryDeliveryAddress: type: boolean x-nullable: true @@ -6875,18 +6920,18 @@ definitions: tertiaryDeliveryAddress: description: Where the movers should deliver this shipment. allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" destinationType: - $ref: 'definitions/DestinationType.yaml' + $ref: "definitions/DestinationType.yaml" shipmentType: - $ref: 'definitions/MTOShipmentType.yaml' + $ref: "definitions/MTOShipmentType.yaml" tacType: allOf: - - $ref: 'definitions/LOAType.yaml' + - $ref: "definitions/LOAType.yaml" - x-nullable: true sacType: allOf: - - $ref: 'definitions/LOAType.yaml' + - $ref: "definitions/LOAType.yaml" - x-nullable: true usesExternalVendor: type: boolean @@ -6903,13 +6948,13 @@ definitions: x-formatting: weight storageFacility: x-nullable: true - $ref: 'definitions/StorageFacility.yaml' + $ref: "definitions/StorageFacility.yaml" mobileHomeShipment: - $ref: '#/definitions/CreateMobileHomeShipment' + $ref: "#/definitions/CreateMobileHomeShipment" ppmShipment: - $ref: '#/definitions/CreatePPMShipment' + $ref: "#/definitions/CreatePPMShipment" boatShipment: - $ref: '#/definitions/CreateBoatShipment' + $ref: "#/definitions/CreateBoatShipment" required: - moveTaskOrderID - shipmentType @@ -6923,22 +6968,22 @@ definitions: type: string pickupAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" secondaryPickupAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" tertiaryPickupAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" destinationAddress: allOf: - - $ref: 'definitions/PPMDestinationAddress.yaml' + - $ref: "definitions/PPMDestinationAddress.yaml" secondaryDestinationAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" tertiaryDestinationAddress: allOf: - - $ref: 'definitions/Address.yaml' + - $ref: "definitions/Address.yaml" hasSecondaryPickupAddress: type: boolean x-nullable: true @@ -6959,7 +7004,7 @@ definitions: type: boolean sitLocation: allOf: - - $ref: 'definitions/SITLocationType.yaml' + - $ref: "definitions/SITLocationType.yaml" - x-nullable: true sitEstimatedWeight: type: integer @@ -7092,7 +7137,7 @@ definitions: minimum: 1 requestReason: description: Reason from service counselor-provided picklist for SIT Duration Update - example: 'AWAITING_COMPLETION_OF_RESIDENCE' + example: "AWAITING_COMPLETION_OF_RESIDENCE" type: string enum: - SERIOUS_ILLNESS_MEMBER @@ -7139,7 +7184,7 @@ definitions: properties: requestReason: description: Reason from service counselor-provided picklist for SIT Duration Update - example: 'AWAITING_COMPLETION_OF_RESIDENCE' + example: "AWAITING_COMPLETION_OF_RESIDENCE" type: string enum: - SERIOUS_ILLNESS_MEMBER @@ -7200,7 +7245,7 @@ definitions: type: string x-nullable: true status: - $ref: '#/definitions/PaymentRequestStatus' + $ref: "#/definitions/PaymentRequestStatus" eTag: type: string type: object @@ -7215,7 +7260,7 @@ definitions: AvailableOfficeUsers: type: array items: - $ref: '#/definitions/AvailableOfficeUser' + $ref: "#/definitions/AvailableOfficeUser" AvailableOfficeUser: type: object properties: @@ -7241,7 +7286,7 @@ definitions: QueueMoves: type: array items: - $ref: '#/definitions/QueueMove' + $ref: "#/definitions/QueueMove" QueueMove: type: object properties: @@ -7249,9 +7294,9 @@ definitions: type: string format: uuid customer: - $ref: '#/definitions/Customer' + $ref: "#/definitions/Customer" status: - $ref: '#/definitions/MoveStatus' + $ref: "#/definitions/MoveStatus" locator: type: string submittedAt: @@ -7267,15 +7312,15 @@ definitions: type: string x-nullable: true departmentIndicator: - $ref: '#/definitions/DeptIndicator' + $ref: "#/definitions/DeptIndicator" shipmentsCount: type: integer originDutyLocation: - $ref: 'definitions/DutyLocation.yaml' + $ref: "definitions/DutyLocation.yaml" destinationDutyLocation: - $ref: 'definitions/DutyLocation.yaml' + $ref: "definitions/DutyLocation.yaml" originGBLOC: - $ref: '#/definitions/GBLOC' + $ref: "#/definitions/GBLOC" ppmType: type: string enum: [FULL, PARTIAL] @@ -7295,14 +7340,14 @@ definitions: format: uuid x-nullable: true lockedByOfficeUser: - $ref: '#/definitions/LockedOfficeUser' + $ref: "#/definitions/LockedOfficeUser" x-nullable: true lockExpiresAt: type: string format: date-time x-nullable: true ppmStatus: - $ref: '#/definitions/PPMStatus' + $ref: "#/definitions/PPMStatus" x-nullable: true counselingOffice: type: string @@ -7312,10 +7357,10 @@ definitions: format: uuid x-nullable: true assignedTo: - $ref: '#/definitions/AssignedOfficeUser' + $ref: "#/definitions/AssignedOfficeUser" x-nullable: true availableOfficeUsers: - $ref: '#/definitions/AvailableOfficeUsers' + $ref: "#/definitions/AvailableOfficeUsers" assignable: type: boolean QueueMovesResult: @@ -7328,7 +7373,7 @@ definitions: totalCount: type: integer queueMoves: - $ref: '#/definitions/QueueMoves' + $ref: "#/definitions/QueueMoves" ListPrimeMove: description: > An abbreviated definition for a move, without all the nested information (shipments, service items, etc). Used to @@ -7341,7 +7386,7 @@ definitions: type: string moveCode: type: string - example: 'HYXFJF' + example: "HYXFJF" readOnly: true createdAt: format: date-time @@ -7387,7 +7432,7 @@ definitions: ListPrimeMoves: type: array items: - $ref: '#/definitions/ListPrimeMove' + $ref: "#/definitions/ListPrimeMove" ListPrimeMovesResult: type: object properties: @@ -7398,7 +7443,7 @@ definitions: totalCount: type: integer queueMoves: - $ref: '#/definitions/ListPrimeMoves' + $ref: "#/definitions/ListPrimeMoves" QueuePaymentRequest: type: object properties: @@ -7409,9 +7454,9 @@ definitions: type: string format: uuid customer: - $ref: '#/definitions/Customer' + $ref: "#/definitions/Customer" status: - $ref: '#/definitions/QueuePaymentRequestStatus' + $ref: "#/definitions/QueuePaymentRequestStatus" age: type: number format: double @@ -7422,11 +7467,11 @@ definitions: locator: type: string departmentIndicator: - $ref: '#/definitions/DeptIndicator' + $ref: "#/definitions/DeptIndicator" originGBLOC: - $ref: '#/definitions/GBLOC' + $ref: "#/definitions/GBLOC" originDutyLocation: - $ref: 'definitions/DutyLocation.yaml' + $ref: "definitions/DutyLocation.yaml" orderType: type: string x-nullable: true @@ -7439,10 +7484,10 @@ definitions: format: date-time x-nullable: true assignedTo: - $ref: '#/definitions/AssignedOfficeUser' + $ref: "#/definitions/AssignedOfficeUser" x-nullable: true availableOfficeUsers: - $ref: '#/definitions/AvailableOfficeUsers' + $ref: "#/definitions/AvailableOfficeUsers" assignable: type: boolean counselingOffice: @@ -7451,7 +7496,7 @@ definitions: QueuePaymentRequests: type: array items: - $ref: '#/definitions/QueuePaymentRequest' + $ref: "#/definitions/QueuePaymentRequest" QueuePaymentRequestsResult: type: object properties: @@ -7462,7 +7507,7 @@ definitions: totalCount: type: integer queuePaymentRequests: - $ref: '#/definitions/QueuePaymentRequests' + $ref: "#/definitions/QueuePaymentRequests" QueuePaymentRequestStatus: enum: - Payment requested @@ -7474,7 +7519,7 @@ definitions: SearchMoves: type: array items: - $ref: '#/definitions/SearchMove' + $ref: "#/definitions/SearchMove" SearchMove: type: object properties: @@ -7498,7 +7543,7 @@ definitions: example: 9551-6199-2 x-nullable: true status: - $ref: '#/definitions/MoveStatus' + $ref: "#/definitions/MoveStatus" locator: type: string branch: @@ -7509,13 +7554,13 @@ definitions: format: zip type: string title: ZIP - example: '90210' + example: "90210" pattern: ^(\d{5})$ destinationPostalCode: format: zip type: string title: ZIP - example: '90210' + example: "90210" pattern: ^(\d{5})$ requestedPickupDate: type: string @@ -7528,9 +7573,9 @@ definitions: format: date x-nullable: true originGBLOC: - $ref: '#/definitions/GBLOC' + $ref: "#/definitions/GBLOC" destinationGBLOC: - $ref: '#/definitions/GBLOC' + $ref: "#/definitions/GBLOC" lockedByOfficeUserID: type: string format: uuid @@ -7552,7 +7597,7 @@ definitions: totalCount: type: integer searchMoves: - $ref: '#/definitions/SearchMoves' + $ref: "#/definitions/SearchMoves" GBLOC: type: string enum: @@ -7647,7 +7692,7 @@ definitions: EvaluationReportList: type: array items: - $ref: '#/definitions/EvaluationReport' + $ref: "#/definitions/EvaluationReport" EvaluationReport: type: object description: An evaluation report @@ -7669,28 +7714,28 @@ definitions: x-nullable: true readOnly: true type: - $ref: '#/definitions/EvaluationReportType' + $ref: "#/definitions/EvaluationReportType" inspectionType: - $ref: '#/definitions/EvaluationReportInspectionType' + $ref: "#/definitions/EvaluationReportInspectionType" x-nullable: true inspectionDate: type: string format: date x-nullable: true officeUser: - $ref: '#/definitions/EvaluationReportOfficeUser' + $ref: "#/definitions/EvaluationReportOfficeUser" location: - $ref: '#/definitions/EvaluationReportLocation' + $ref: "#/definitions/EvaluationReportLocation" x-nullable: true reportViolations: - $ref: '#/definitions/ReportViolations' + $ref: "#/definitions/ReportViolations" x-nullable: true gsrAppeals: - $ref: '#/definitions/GSRAppeals' + $ref: "#/definitions/GSRAppeals" x-nullable: true locationDescription: type: string - example: 'Route 66 at crash inspection site 3' + example: "Route 66 at crash inspection site 3" x-nullable: true observedShipmentDeliveryDate: type: string @@ -7703,18 +7748,18 @@ definitions: timeDepart: type: string x-nullable: true - pattern: '^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$' - example: '14:30' + pattern: "^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$" + example: "14:30" evalStart: type: string x-nullable: true - pattern: '^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$' - example: '15:00' + pattern: "^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$" + example: "15:00" evalEnd: type: string x-nullable: true - pattern: '^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$' - example: '18:00' + pattern: "^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$" + example: "18:00" violationsObserved: type: boolean x-nullable: true @@ -7826,7 +7871,7 @@ definitions: PWSViolations: type: array items: - $ref: '#/definitions/PWSViolation' + $ref: "#/definitions/PWSViolation" AssociateReportViolations: type: object description: A list of PWS violation string ids to associate with an evaluation report @@ -7853,14 +7898,14 @@ definitions: format: uuid type: string violation: - $ref: '#/definitions/PWSViolation' + $ref: "#/definitions/PWSViolation" gsrAppeals: - $ref: '#/definitions/GSRAppeals' + $ref: "#/definitions/GSRAppeals" x-nullable: true ReportViolations: type: array items: - $ref: '#/definitions/ReportViolation' + $ref: "#/definitions/ReportViolation" GSRAppealStatusType: type: string enum: @@ -7869,7 +7914,7 @@ definitions: GSRAppeals: type: array items: - $ref: '#/definitions/GSRAppeal' + $ref: "#/definitions/GSRAppeal" GSRAppeal: type: object description: An object associating appeals on violations and serious incidents @@ -7891,12 +7936,12 @@ definitions: format: uuid type: string officeUser: - $ref: '#/definitions/EvaluationReportOfficeUser' + $ref: "#/definitions/EvaluationReportOfficeUser" isSeriousIncident: type: boolean example: false appealStatus: - $ref: '#/definitions/GSRAppealStatusType' + $ref: "#/definitions/GSRAppealStatusType" remarks: type: string example: Office user remarks @@ -7907,7 +7952,7 @@ definitions: TransportationOffices: type: array items: - $ref: 'definitions/TransportationOffice.yaml' + $ref: "definitions/TransportationOffice.yaml" ReServiceItems: type: array items: @@ -7955,9 +8000,9 @@ definitions: readOnly: true locator: type: string - example: '12432' + example: "12432" status: - $ref: '#/definitions/MoveStatus' + $ref: "#/definitions/MoveStatus" created_at: type: string format: date-time @@ -7969,9 +8014,9 @@ definitions: format: date-time x-nullable: true mto_shipments: - $ref: '#/definitions/MTOShipments' + $ref: "#/definitions/MTOShipments" closeout_office: - $ref: '#/definitions/TransportationOffice' + $ref: "#/definitions/TransportationOffice" cancel_reason: type: string example: Change of orders @@ -7983,7 +8028,7 @@ definitions: type: string readOnly: true additionalDocuments: - $ref: 'definitions/Document.yaml' + $ref: "definitions/Document.yaml" required: - id - orders_id @@ -8001,7 +8046,7 @@ definitions: date: type: string format: date - example: '2018-09-25' + example: "2018-09-25" is_weekend: type: boolean is_holiday: @@ -8040,28 +8085,28 @@ responses: InvalidRequest: description: The request payload is invalid schema: - $ref: '#/definitions/Error' + $ref: "#/definitions/Error" NotFound: description: The requested resource wasn't found schema: - $ref: '#/definitions/Error' + $ref: "#/definitions/Error" Conflict: description: Conflict error schema: - $ref: '#/definitions/Error' + $ref: "#/definitions/Error" PermissionDenied: description: The request was denied schema: - $ref: '#/definitions/Error' + $ref: "#/definitions/Error" ServerError: description: A server error occurred schema: - $ref: '#/definitions/Error' + $ref: "#/definitions/Error" PreconditionFailed: description: Precondition failed schema: - $ref: '#/definitions/Error' + $ref: "#/definitions/Error" UnprocessableEntity: description: The payload was unprocessable. schema: - $ref: '#/definitions/ValidationError' + $ref: "#/definitions/ValidationError" diff --git a/swagger-def/support.yaml b/swagger-def/support.yaml index c11afc65054..890c2d5356e 100644 --- a/swagger-def/support.yaml +++ b/swagger-def/support.yaml @@ -878,6 +878,9 @@ definitions: gunSafe: type: boolean example: false + adminRestrictedWeightLocation: + type: boolean + example: false nonTemporaryStorage: example: false type: boolean @@ -913,6 +916,9 @@ definitions: totalDependents: example: 2 type: integer + weightRestriction: + example: 1500 + type: integer eTag: type: string readOnly: true diff --git a/swagger/ghc.yaml b/swagger/ghc.yaml index 7ffaf58797e..7075815407e 100644 --- a/swagger/ghc.yaml +++ b/swagger/ghc.yaml @@ -5390,6 +5390,9 @@ definitions: gunSafe: type: boolean example: false + adminRestrictedWeightLocation: + type: boolean + example: false nonTemporaryStorage: example: false type: boolean @@ -5453,6 +5456,12 @@ definitions: description: >- Indicates the number of dependents of the age twelve or older for a move. This is only present on OCONUS moves. + weightRestriction: + type: integer + example: 1500 + description: >- + The amount of weight in pounds that the move is restricted to for a + particular location. eTag: type: string type: object @@ -6300,6 +6309,12 @@ definitions: their move without it being charged against their weight allowance. type: boolean x-nullable: true + adminRestrictedWeightLocation: + description: >- + Indicates if the customer is restricted to a specific location for + their admin restricted weight. + type: boolean + x-nullable: true accompaniedTour: type: boolean example: true @@ -6326,6 +6341,9 @@ definitions: example: 500 type: integer x-nullable: true + weightRestriction: + example: 1500 + type: integer UpdateBillableWeightPayload: type: object properties: @@ -6403,6 +6421,12 @@ definitions: their move without it being charged against their weight allowance. type: boolean x-nullable: true + adminRestrictedWeightLocation: + description: >- + Indicates if the customer is restricted to a specific location for + their admin restricted weight. + type: boolean + x-nullable: true accompaniedTour: type: boolean example: true @@ -6429,6 +6453,12 @@ definitions: example: 500 type: integer x-nullable: true + weightRestriction: + example: 1500 + type: integer + description: unit is in lbs + x-formatting: weight + x-nullable: true MoveTaskOrder: description: The Move (MoveTaskOrder) properties: diff --git a/swagger/prime.yaml b/swagger/prime.yaml index 100c889a9b4..5452db72c30 100644 --- a/swagger/prime.yaml +++ b/swagger/prime.yaml @@ -3246,6 +3246,9 @@ definitions: gunSafe: type: boolean example: false + adminRestrictedWeightLocation: + type: boolean + example: false nonTemporaryStorage: example: false type: boolean @@ -3279,6 +3282,10 @@ definitions: totalDependents: example: 2 type: integer + weightRestriction: + example: 1500 + type: integer + x-formatting: weight eTag: type: string readOnly: true diff --git a/swagger/prime_v2.yaml b/swagger/prime_v2.yaml index f8f79ca6ce4..0235dc000ab 100644 --- a/swagger/prime_v2.yaml +++ b/swagger/prime_v2.yaml @@ -1,4 +1,4 @@ -swagger: '2.0' +swagger: "2.0" info: title: MilMove Prime V2 API version: 0.0.1 @@ -86,18 +86,18 @@ paths: required: true type: string responses: - '200': + "200": description: Successfully retrieve an individual move task order. schema: - $ref: '#/definitions/MoveTaskOrder' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/MoveTaskOrder" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "500": + $ref: "#/responses/ServerError" /mto-shipments: post: summary: createMTOShipment @@ -152,7 +152,7 @@ paths: - in: body name: body schema: - $ref: '#/definitions/CreateMTOShipment' + $ref: "#/definitions/CreateMTOShipment" x-examples: application/json: hhg: @@ -160,23 +160,23 @@ paths: value: moveTaskOrderId: 5691c951-c35c-49a8-a1d5-a4b7ea7b7ad8 shipmentType: HHG - requestedPickupDate: '2022-12-31' + requestedPickupDate: "2022-12-31" pickupAddress: streetAddress1: 204 South Prospect Lane city: Muldraugh state: KY - postalCode: '40155' + postalCode: "40155" nts: summary: NTS value: moveTaskOrderId: 5691c951-c35c-49a8-a1d5-a4b7ea7b7ad8 shipmentType: HHG_INTO_NTS - requestedPickupDate: '2022-12-31' + requestedPickupDate: "2022-12-31" pickupAddress: streetAddress1: 204 South Prospect Lane city: Muldraugh state: KY - postalCode: '40155' + postalCode: "40155" agents: - firstName: Edgar lastName: Taylor @@ -200,7 +200,7 @@ paths: moveTaskOrderId: 5691c951-c35c-49a8-a1d5-a4b7ea7b7ad8 shipmentType: PPM ppmShipment: - expectedDepartureDate: '2022-10-01' + expectedDepartureDate: "2022-10-01" estimatedWeight: 4999 hasProGear: false sitExpected: false @@ -239,18 +239,18 @@ paths: moveTaskOrderID: d4d95b22-2d9d-428b-9a11-284455aa87ba shipmentType: MOBILE_HOME responses: - '200': + "200": description: Successfully created a MTO shipment. schema: - $ref: '#/definitions/MTOShipment' - '400': - $ref: '#/responses/InvalidRequest' - '404': - $ref: '#/responses/NotFound' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/MTOShipment" + "400": + $ref: "#/responses/InvalidRequest" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" /mto-shipments/{mtoShipmentID}: patch: summary: updateMTOShipment @@ -310,32 +310,32 @@ paths: name: body required: true schema: - $ref: '#/definitions/UpdateMTOShipment' + $ref: "#/definitions/UpdateMTOShipment" x-examples: application/json: hhg: summary: HHG value: - scheduledPickupDate: '2022-12-30' - actualPickupDate: '2022-12-29' - firstAvailableDeliveryDate: '2023-01-04' + scheduledPickupDate: "2022-12-30" + actualPickupDate: "2022-12-29" + firstAvailableDeliveryDate: "2023-01-04" primeEstimatedWeight: 4250 primeActualWeight: 4500 actualProGearWeight: 1053 actualSpouseProGearWeight: 253 destinationAddress: streetAddress1: 6622 Airport Way S - streetAddress2: '#1430' + streetAddress2: "#1430" city: Great Bend state: NY - postalCode: '13643' + postalCode: "13643" pointOfContact: peyton.wing@example.com nts: summary: NTS value: moveTaskOrderId: 5691c951-c35c-49a8-a1d5-a4b7ea7b7ad8 - scheduledPickupDate: '2022-12-30' - actualPickupDate: '2022-12-29' + scheduledPickupDate: "2022-12-30" + actualPickupDate: "2022-12-29" estimatedWeight: 4250 actualWeight: 4500 actualProGearWeight: 1053 @@ -352,7 +352,7 @@ paths: streetAddress1: 812 S 129th Street city: San Antonio state: TX - postalCode: '78245' + postalCode: "78245" ppm: summary: PPM value: @@ -364,37 +364,37 @@ paths: sitExpected: true sitLocation: DESTINATION sitEstimatedWeight: 1760 - sitEstimatedEntryDate: '2022-10-06' - sitEstimatedDepartureDate: '2022-10-13' - - $ref: '#/parameters/ifMatch' + sitEstimatedEntryDate: "2022-10-06" + sitEstimatedDepartureDate: "2022-10-13" + - $ref: "#/parameters/ifMatch" responses: - '200': + "200": description: Successfully updated the MTO shipment. schema: - $ref: '#/definitions/MTOShipment' - '400': - $ref: '#/responses/InvalidRequest' - '401': - $ref: '#/responses/PermissionDenied' - '403': - $ref: '#/responses/PermissionDenied' - '404': - $ref: '#/responses/NotFound' - '412': - $ref: '#/responses/PreconditionFailed' - '422': - $ref: '#/responses/UnprocessableEntity' - '500': - $ref: '#/responses/ServerError' + $ref: "#/definitions/MTOShipment" + "400": + $ref: "#/responses/InvalidRequest" + "401": + $ref: "#/responses/PermissionDenied" + "403": + $ref: "#/responses/PermissionDenied" + "404": + $ref: "#/responses/NotFound" + "412": + $ref: "#/responses/PreconditionFailed" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" definitions: MTOServiceItemBasic: description: Describes a basic service item subtype of a MTOServiceItem. allOf: - - $ref: '#/definitions/MTOServiceItem' + - $ref: "#/definitions/MTOServiceItem" - type: object properties: reServiceCode: - $ref: '#/definitions/ReServiceCode' + $ref: "#/definitions/ReServiceCode" required: - reServiceCode MTOServiceItemDestSIT: @@ -402,7 +402,7 @@ definitions: Describes a domestic destination SIT service item. Subtype of a MTOServiceItem. allOf: - - $ref: '#/definitions/MTOServiceItem' + - $ref: "#/definitions/MTOServiceItem" - type: object properties: reServiceCode: @@ -464,7 +464,7 @@ definitions: the UpdateMTOServiceItemSIT modelType at a later date. x-nullable: true sitDestinationFinalAddress: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" reason: type: string description: | @@ -492,7 +492,7 @@ definitions: Describes a domestic crating/uncrating service item subtype of a MTOServiceItem. allOf: - - $ref: '#/definitions/MTOServiceItem' + - $ref: "#/definitions/MTOServiceItem" - type: object properties: reServiceCode: @@ -506,11 +506,11 @@ definitions: item: description: The dimensions of the item being crated. allOf: - - $ref: '#/definitions/MTOServiceItemDimension' + - $ref: "#/definitions/MTOServiceItemDimension" crate: description: The dimensions for the crate the item will be shipped in. allOf: - - $ref: '#/definitions/MTOServiceItemDimension' + - $ref: "#/definitions/MTOServiceItemDimension" description: type: string example: Decorated horse head to be crated. @@ -537,7 +537,7 @@ definitions: Describes a international crating/uncrating service item subtype of a MTOServiceItem. allOf: - - $ref: '#/definitions/MTOServiceItem' + - $ref: "#/definitions/MTOServiceItem" - type: object properties: reServiceCode: @@ -551,11 +551,11 @@ definitions: item: description: The dimensions of the item being crated. allOf: - - $ref: '#/definitions/MTOServiceItemDimension' + - $ref: "#/definitions/MTOServiceItemDimension" crate: description: The dimensions for the crate the item will be shipped in. allOf: - - $ref: '#/definitions/MTOServiceItemDimension' + - $ref: "#/definitions/MTOServiceItemDimension" description: type: string example: Decorated horse head to be crated. @@ -592,7 +592,7 @@ definitions: MTOServiceItemOriginSIT: description: Describes a domestic origin SIT service item. Subtype of a MTOServiceItem. allOf: - - $ref: '#/definitions/MTOServiceItem' + - $ref: "#/definitions/MTOServiceItem" - type: object properties: reServiceCode: @@ -608,7 +608,7 @@ definitions: sitPostalCode: type: string format: zip - example: '90210' + example: "90210" pattern: ^(\d{5}([\-]\d{4})?)$ sitEntryDate: format: date @@ -623,9 +623,9 @@ definitions: origin or destination. This is optional as it can be updated using the UpdateMTOServiceItemSIT modelType at a later date. sitHHGActualOrigin: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" sitHHGOriginalOrigin: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" requestApprovalsRequestedStatus: type: boolean sitRequestedDelivery: @@ -648,7 +648,7 @@ definitions: MTOServiceItemShuttle: description: Describes a shuttle service item. allOf: - - $ref: '#/definitions/MTOServiceItem' + - $ref: "#/definitions/MTOServiceItem" - type: object properties: reServiceCode: @@ -727,22 +727,22 @@ definitions: example: handle with care x-nullable: true agents: - $ref: '#/definitions/MTOAgents' + $ref: "#/definitions/MTOAgents" mtoServiceItems: description: A list of service items connected to this shipment. type: array items: - $ref: '#/definitions/MTOServiceItem' + $ref: "#/definitions/MTOServiceItem" pickupAddress: description: The address where the movers should pick up this shipment. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" destinationAddress: description: Where the movers should deliver this shipment. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" shipmentType: - $ref: '#/definitions/MTOShipmentType' + $ref: "#/definitions/MTOShipmentType" diversion: description: > This value indicates whether or not this shipment is part of a @@ -771,11 +771,11 @@ definitions: example: counselor approved x-nullable: true ppmShipment: - $ref: '#/definitions/CreatePPMShipment' + $ref: "#/definitions/CreatePPMShipment" boatShipment: - $ref: '#/definitions/CreateBoatShipment' + $ref: "#/definitions/CreateBoatShipment" mobileHomeShipment: - $ref: '#/definitions/CreateMobileHomeShipment' + $ref: "#/definitions/CreateMobileHomeShipment" required: - moveTaskOrderID - shipmentType @@ -793,13 +793,13 @@ definitions: pickupAddress: description: The address of the origin location where goods are being moved from. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" destinationAddress: description: >- The address of the destination location where goods are being delivered to. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" sitExpected: description: > Captures whether some or all of the PPM shipment will require @@ -813,7 +813,7 @@ definitions: type: boolean sitLocation: allOf: - - $ref: '#/definitions/SITLocationType' + - $ref: "#/definitions/SITLocationType" - x-nullable: true sitEstimatedWeight: description: The estimated weight of the goods being put into storage in pounds. @@ -940,11 +940,11 @@ definitions: mtoServiceItems: description: A list of service items connected to this shipment. items: - $ref: '#/definitions/MTOServiceItem' + $ref: "#/definitions/MTOServiceItem" type: array readOnly: true allOf: - - $ref: '#/definitions/MTOShipmentWithoutServiceItems' + - $ref: "#/definitions/MTOShipmentWithoutServiceItems" Error: properties: title: @@ -987,7 +987,7 @@ definitions: type: string description: ID of the service item. Must match path. modelType: - $ref: '#/definitions/UpdateMTOServiceItemModelType' + $ref: "#/definitions/UpdateMTOServiceItemModelType" required: - modelType UpdateMTOServiceItemShuttle: @@ -996,7 +996,7 @@ definitions: shuttle. This is not creating a new service item but rather updating an existing service item. allOf: - - $ref: '#/definitions/UpdateMTOServiceItem' + - $ref: "#/definitions/UpdateMTOServiceItem" - type: object properties: actualWeight: @@ -1045,7 +1045,7 @@ definitions: x-nullable: true sitLocation: allOf: - - $ref: '#/definitions/SITLocationType' + - $ref: "#/definitions/SITLocationType" - x-nullable: true sitEstimatedWeight: description: The estimated weight of the goods being put into storage. @@ -1167,7 +1167,7 @@ definitions: The address where the movers should pick up this shipment, entered by the customer during onboarding when they enter shipment details. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" destinationAddress: description: > Where the movers should deliver this shipment. Often provided by the @@ -1181,27 +1181,27 @@ definitions: final destination due to the shipment being diverted or placed in SIT. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" destinationType: - $ref: '#/definitions/DestinationType' + $ref: "#/definitions/DestinationType" secondaryPickupAddress: description: >- A second pickup address for this shipment, if the customer entered one. An optional field. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" secondaryDeliveryAddress: description: >- A second delivery address for this shipment, if the customer entered one. An optional field. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" storageFacility: allOf: - x-nullable: true - - $ref: '#/definitions/StorageFacility' + - $ref: "#/definitions/StorageFacility" shipmentType: - $ref: '#/definitions/MTOShipmentType' + $ref: "#/definitions/MTOShipmentType" diversion: description: > This value indicates whether or not this shipment is part of a @@ -1227,7 +1227,7 @@ definitions: x-nullable: true x-omitempty: false ppmShipment: - $ref: '#/definitions/UpdatePPMShipment' + $ref: "#/definitions/UpdatePPMShipment" UpdateMTOShipmentStatus: description: >- Contains the statuses available to the Prime when updating the state of a @@ -1267,7 +1267,7 @@ definitions: type: object properties: newAddress: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" contractorRemarks: type: string example: >- @@ -1285,7 +1285,7 @@ definitions: This is not creating a new service item but rather updating and existing service item. allOf: - - $ref: '#/definitions/UpdateMTOServiceItem' + - $ref: "#/definitions/UpdateMTOServiceItem" - type: object properties: reServiceCode: @@ -1303,7 +1303,7 @@ definitions: Departure date for SIT. This is the end date of the SIT at either origin or destination. sitDestinationFinalAddress: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" dateOfContact1: format: date type: string @@ -1363,7 +1363,7 @@ definitions: sitPostalCode: type: string format: zip - example: '90210' + example: "90210" pattern: ^(\d{5}([\-]\d{4})?)$ x-nullable: true sitEntryDate: @@ -1542,7 +1542,7 @@ definitions: type: string format: zip title: ZIP - example: '90210' + example: "90210" pattern: ^(\d{5}([\-]\d{4})?)$ country: type: string @@ -1591,7 +1591,7 @@ definitions: format: uuid example: c56a4180-65aa-42ec-a945-5fd21dec0538 currentAddress: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" firstName: type: string example: Vanya @@ -1638,6 +1638,9 @@ definitions: gunSafe: type: boolean example: false + adminRestrictedWeightLocation: + type: boolean + example: false nonTemporaryStorage: example: false type: boolean @@ -1671,6 +1674,10 @@ definitions: totalDependents: example: 2 type: integer + weightRestriction: + example: 1500 + type: integer + x-formatting: weight eTag: type: string readOnly: true @@ -1689,7 +1696,7 @@ definitions: format: uuid example: c56a4180-65aa-42ec-a945-5fd21dec0538 address: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" eTag: type: string readOnly: true @@ -1730,20 +1737,20 @@ definitions: format: uuid type: string customer: - $ref: '#/definitions/Customer' + $ref: "#/definitions/Customer" customerID: example: c56a4180-65aa-42ec-a945-5fd21dec0538 format: uuid type: string entitlement: - $ref: '#/definitions/Entitlements' + $ref: "#/definitions/Entitlements" destinationDutyLocation: - $ref: '#/definitions/DutyLocation' + $ref: "#/definitions/DutyLocation" destinationDutyLocationGBLOC: type: string example: KKFA originDutyLocation: - $ref: '#/definitions/DutyLocation' + $ref: "#/definitions/DutyLocation" originDutyLocationGBLOC: type: string example: KKFA @@ -1754,7 +1761,7 @@ definitions: type: string format: date ordersType: - $ref: '#/definitions/OrdersType' + $ref: "#/definitions/OrdersType" orderNumber: type: string linesOfAccounting: @@ -1833,11 +1840,11 @@ definitions: uploads: type: array items: - $ref: '#/definitions/UploadWithOmissions' + $ref: "#/definitions/UploadWithOmissions" ProofOfServiceDocs: type: array items: - $ref: '#/definitions/ProofOfServiceDoc' + $ref: "#/definitions/ProofOfServiceDoc" PaymentServiceItemStatus: type: string enum: @@ -1951,21 +1958,21 @@ definitions: format: uuid type: string key: - $ref: '#/definitions/ServiceItemParamName' + $ref: "#/definitions/ServiceItemParamName" value: - example: '3025' + example: "3025" type: string type: - $ref: '#/definitions/ServiceItemParamType' + $ref: "#/definitions/ServiceItemParamType" origin: - $ref: '#/definitions/ServiceItemParamOrigin' + $ref: "#/definitions/ServiceItemParamOrigin" eTag: type: string readOnly: true PaymentServiceItemParams: type: array items: - $ref: '#/definitions/PaymentServiceItemParam' + $ref: "#/definitions/PaymentServiceItemParam" PaymentServiceItem: type: object properties: @@ -1983,7 +1990,7 @@ definitions: format: uuid type: string status: - $ref: '#/definitions/PaymentServiceItemStatus' + $ref: "#/definitions/PaymentServiceItemStatus" priceCents: type: integer format: cents @@ -1998,14 +2005,14 @@ definitions: readOnly: true format: string paymentServiceItemParams: - $ref: '#/definitions/PaymentServiceItemParams' + $ref: "#/definitions/PaymentServiceItemParams" eTag: type: string readOnly: true PaymentServiceItems: type: array items: - $ref: '#/definitions/PaymentServiceItem' + $ref: "#/definitions/PaymentServiceItem" PaymentRequest: type: object properties: @@ -2026,7 +2033,7 @@ definitions: type: string x-nullable: true status: - $ref: '#/definitions/PaymentRequestStatus' + $ref: "#/definitions/PaymentRequestStatus" paymentRequestNumber: example: 1234-5678-1 readOnly: true @@ -2038,16 +2045,16 @@ definitions: readOnly: true x-nullable: true proofOfServiceDocs: - $ref: '#/definitions/ProofOfServiceDocs' + $ref: "#/definitions/ProofOfServiceDocs" paymentServiceItems: - $ref: '#/definitions/PaymentServiceItems' + $ref: "#/definitions/PaymentServiceItems" eTag: type: string readOnly: true PaymentRequests: type: array items: - $ref: '#/definitions/PaymentRequest' + $ref: "#/definitions/PaymentRequest" MTOServiceItemStatus: description: >- The status of a service item, indicating where it is in the TOO's approval @@ -2086,12 +2093,12 @@ definitions: properties: uploads: items: - $ref: '#/definitions/UploadWithOmissions' + $ref: "#/definitions/UploadWithOmissions" type: array type: object ServiceRequestDocuments: items: - $ref: '#/definitions/ServiceRequestDocument' + $ref: "#/definitions/ServiceRequestDocument" type: array MTOServiceItem: description: MTOServiceItem describes a base type of a service item. Polymorphic type. @@ -2119,7 +2126,7 @@ definitions: readOnly: true description: The full descriptive name of the service. status: - $ref: '#/definitions/MTOServiceItemStatus' + $ref: "#/definitions/MTOServiceItemStatus" rejectionReason: example: item was too heavy type: string @@ -2127,9 +2134,9 @@ definitions: readOnly: true description: The reason why this service item was rejected by the TOO. modelType: - $ref: '#/definitions/MTOServiceItemModelType' + $ref: "#/definitions/MTOServiceItemModelType" serviceRequestDocuments: - $ref: '#/definitions/ServiceRequestDocuments' + $ref: "#/definitions/ServiceRequestDocuments" eTag: type: string readOnly: true @@ -2192,7 +2199,7 @@ definitions: pattern: ^([2-9]\d{2}-\d{3}-\d{4})?$ x-nullable: true agentType: - $ref: '#/definitions/MTOAgentType' + $ref: "#/definitions/MTOAgentType" eTag: type: string readOnly: true @@ -2203,7 +2210,7 @@ definitions: contractor recognize as permitted to release (in the case of pickup) or receive (on delivery) a shipment. items: - $ref: '#/definitions/MTOAgent' + $ref: "#/definitions/MTOAgent" type: array maxItems: 2 SITExtension: @@ -2271,7 +2278,7 @@ definitions: SITExtensions: type: array items: - $ref: '#/definitions/SITExtension' + $ref: "#/definitions/SITExtension" ReweighRequester: type: string enum: @@ -2292,7 +2299,7 @@ definitions: format: date-time type: string requestedBy: - $ref: '#/definitions/ReweighRequester' + $ref: "#/definitions/ReweighRequester" verificationProvidedAt: format: date-time type: string @@ -2347,7 +2354,7 @@ definitions: facilityName: type: string address: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" lotNumber: type: string x-nullable: true @@ -2450,7 +2457,7 @@ definitions: type: string readOnly: true status: - $ref: '#/definitions/PPMShipmentStatus' + $ref: "#/definitions/PPMShipmentStatus" expectedDepartureDate: description: | Date the customer expects to begin moving from their origin. @@ -2493,7 +2500,7 @@ definitions: format: zip type: string title: ZIP - example: '90210' + example: "90210" pattern: ^(\d{5})$ x-nullable: true x-omitempty: false @@ -2504,7 +2511,7 @@ definitions: format: zip type: string title: ZIP - example: '90210' + example: "90210" pattern: ^(\d{5})$ x-nullable: true x-omitempty: false @@ -2593,7 +2600,7 @@ definitions: x-omitempty: false sitLocation: allOf: - - $ref: '#/definitions/SITLocationType' + - $ref: "#/definitions/SITLocationType" - x-nullable: true - x-omitempty: false sitEstimatedWeight: @@ -2683,18 +2690,18 @@ definitions: x-nullable: true description: The TOO comment on approval or rejection. status: - $ref: '#/definitions/ShipmentAddressUpdateStatus' + $ref: "#/definitions/ShipmentAddressUpdateStatus" shipmentID: type: string format: uuid example: c56a4180-65aa-42ec-a945-5fd21dec0538 readOnly: true originalAddress: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" newAddress: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" sitOriginalAddress: - $ref: '#/definitions/Address' + $ref: "#/definitions/Address" oldSitDistanceBetween: description: >- The distance between the original SIT address and the previous/old @@ -2887,17 +2894,17 @@ definitions: x-nullable: true x-omitempty: false agents: - $ref: '#/definitions/MTOAgents' + $ref: "#/definitions/MTOAgents" sitExtensions: - $ref: '#/definitions/SITExtensions' + $ref: "#/definitions/SITExtensions" reweigh: - $ref: '#/definitions/Reweigh' + $ref: "#/definitions/Reweigh" pickupAddress: description: > The address where the movers should pick up this shipment, entered by the customer during onboarding when they enter shipment details. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" destinationAddress: description: > Where the movers should deliver this shipment. Often provided by the @@ -2911,27 +2918,27 @@ definitions: final destination due to the shipment being diverted or placed in SIT. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" destinationType: - $ref: '#/definitions/DestinationType' + $ref: "#/definitions/DestinationType" secondaryPickupAddress: description: >- A second pickup address for this shipment, if the customer entered one. An optional field. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" secondaryDeliveryAddress: description: >- A second delivery address for this shipment, if the customer entered one. An optional field. allOf: - - $ref: '#/definitions/Address' + - $ref: "#/definitions/Address" storageFacility: allOf: - x-nullable: true - - $ref: '#/definitions/StorageFacility' + - $ref: "#/definitions/StorageFacility" shipmentType: - $ref: '#/definitions/MTOShipmentType' + $ref: "#/definitions/MTOShipmentType" diversion: description: > This value indicates whether or not this shipment is part of a @@ -2960,9 +2967,9 @@ definitions: - CANCELED - DIVERSION_REQUESTED ppmShipment: - $ref: '#/definitions/PPMShipment' + $ref: "#/definitions/PPMShipment" deliveryAddressUpdate: - $ref: '#/definitions/ShipmentAddressUpdate' + $ref: "#/definitions/ShipmentAddressUpdate" eTag: description: >- A hash unique to this shipment that should be used as the "If-Match" @@ -3005,7 +3012,7 @@ definitions: MTOShipmentsWithoutServiceObjects: description: A list of shipments without their associated service items. items: - $ref: '#/definitions/MTOShipmentWithoutServiceItems' + $ref: "#/definitions/MTOShipmentWithoutServiceItems" type: array MoveTaskOrder: type: object @@ -3031,14 +3038,14 @@ definitions: format: uuid type: string order: - $ref: '#/definitions/Order' + $ref: "#/definitions/Order" destinationGBLOC: type: string example: KKFA readOnly: true destinationPostalCode: type: string - example: '90210' + example: "90210" readOnly: true referenceId: example: 1001-3456 @@ -3063,13 +3070,13 @@ definitions: x-nullable: true readOnly: true paymentRequests: - $ref: '#/definitions/PaymentRequests' + $ref: "#/definitions/PaymentRequests" mtoServiceItems: type: array items: - $ref: '#/definitions/MTOServiceItem' + $ref: "#/definitions/MTOServiceItem" mtoShipments: - $ref: '#/definitions/MTOShipmentsWithoutServiceObjects' + $ref: "#/definitions/MTOShipmentsWithoutServiceObjects" ppmType: type: string enum: @@ -3129,7 +3136,7 @@ definitions: - instance ValidationError: allOf: - - $ref: '#/definitions/ClientError' + - $ref: "#/definitions/ClientError" - type: object properties: invalidFields: @@ -3233,29 +3240,29 @@ responses: ServerError: description: A server error occurred. schema: - $ref: '#/definitions/Error' + $ref: "#/definitions/Error" InvalidRequest: description: The request payload is invalid. schema: - $ref: '#/definitions/ClientError' + $ref: "#/definitions/ClientError" PreconditionFailed: description: >- Precondition failed, likely due to a stale eTag (If-Match). Fetch the request again to get the updated eTag value. schema: - $ref: '#/definitions/ClientError' + $ref: "#/definitions/ClientError" PermissionDenied: description: The request was denied. schema: - $ref: '#/definitions/ClientError' + $ref: "#/definitions/ClientError" NotFound: description: The requested resource wasn't found. schema: - $ref: '#/definitions/ClientError' + $ref: "#/definitions/ClientError" UnprocessableEntity: description: The request was unprocessable, likely due to bad input from the requester. schema: - $ref: '#/definitions/ValidationError' + $ref: "#/definitions/ValidationError" parameters: ifMatch: in: header diff --git a/swagger/prime_v3.yaml b/swagger/prime_v3.yaml index 10692aa49f7..88f55ebb908 100644 --- a/swagger/prime_v3.yaml +++ b/swagger/prime_v3.yaml @@ -1745,6 +1745,9 @@ definitions: gunSafe: type: boolean example: false + adminRestrictedWeightLocation: + type: boolean + example: false nonTemporaryStorage: example: false type: boolean @@ -1778,6 +1781,10 @@ definitions: totalDependents: example: 2 type: integer + weightRestriction: + example: 1500 + type: integer + x-formatting: weight eTag: type: string readOnly: true diff --git a/swagger/support.yaml b/swagger/support.yaml index 6895258916d..bc860baf961 100644 --- a/swagger/support.yaml +++ b/swagger/support.yaml @@ -953,6 +953,9 @@ definitions: gunSafe: type: boolean example: false + adminRestrictedWeightLocation: + type: boolean + example: false nonTemporaryStorage: example: false type: boolean @@ -988,6 +991,9 @@ definitions: totalDependents: example: 2 type: integer + weightRestriction: + example: 1500 + type: integer eTag: type: string readOnly: true