Pricing
Manage the pricing models that price your quotes and orders, the zones they use, your shipment types, and the exchange rates used for other currencies.
Paths are relative to https://api.rushhourapp.com/api/v1. See the API reference overview for how to read each entry.
Pricing models
| Method | Path | Summary |
|---|---|---|
GET | /PricingModel | Get pricing model. |
POST | /PricingModel | Create or update a pricing model. |
POST | /PricingModel/add-mileage-charge | Add mileage charge. |
DELETE | /PricingModel/customer-pricing-model | Delete customer pricing model. |
POST | /PricingModel/generate-from-invoices | Generate pricing model from invoices. |
PUT | /PricingModel/intl-rate | Creates or updates one international rate card. |
DELETE | /PricingModel/intl-rate/{rateId} | Deletes one international rate card. |
POST | /PricingModel/remove-mileage-charge | Remove mileage charge with prices. |
PUT | /PricingModel/revert-to-default | Revert to default pricing model. |
GET /PricingModel
Get pricing model.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No |
Response: envelope; data is PricingModelDto.
POST /PricingModel
Create or update a pricing model.
Request body: PricingModelDto (JSON).
Response: envelope; data is PricingModelDto.
POST /PricingModel/add-mileage-charge
Add mileage charge.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
pricingModelId | query | integer (int32) | No |
Request body: AddMileageChargeRequestDto (JSON).
Response: envelope; data is PricingModelDto.
DELETE /PricingModel/customer-pricing-model
Delete customer pricing model.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No |
Response: envelope; data is PricingModelDto.
POST /PricingModel/generate-from-invoices
Generate pricing model from invoices.
Request body: PricingModelDto (JSON).
Response: envelope; data is PricingModelDto.
PUT /PricingModel/intl-rate
Creates or updates one international rate card.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No |
Request body: PricingIntlRateDto (JSON).
Response: envelope; data is PricingModelDto.
DELETE /PricingModel/intl-rate/{rateId}
Deletes one international rate card.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
rateId | path | integer (int32) | Yes | |
customerId | query | integer (int32) | No |
Response: envelope; data is PricingModelDto.
POST /PricingModel/remove-mileage-charge
Remove mileage charge with prices.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
pricingModelId | query | integer (int32) | No |
Request body: MileageChargeDto (JSON).
Response: envelope; data is PricingModelDto.
PUT /PricingModel/revert-to-default
Revert to default pricing model.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No | |
pricingModelId | query | integer (int32) | No |
Response: envelope; data is PricingModelDto.
Pricing zones
| Method | Path | Summary |
|---|---|---|
GET | /PricingZones | Get zones. |
POST | /PricingZones | Create zone. |
GET | /PricingZones/{id} | Get zone. |
PUT | /PricingZones/{id} | Update zone. |
DELETE | /PricingZones/{id} | Delete zone. |
GET /PricingZones
Get zones.
Required access: the Zones - view Zones permission.
Response: envelope; data is array of PricingZoneDto.
POST /PricingZones
Create zone.
Required access: the Zones - create/edit/delete Zones permission.
Request body: PricingZoneDto (JSON).
Response: envelope; data is PricingZoneDto.
GET /PricingZones/{id}
Get zone.
Required access: the Zones - view Zones permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Response: envelope; data is PricingZoneDto.
PUT /PricingZones/{id}
Update zone.
Required access: the Zones - create/edit/delete Zones permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Request body: PricingZoneDto (JSON).
Response: envelope; data is PricingZoneDto.
DELETE /PricingZones/{id}
Delete zone.
Required access: the Zones - create/edit/delete Zones permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Response: envelope; data has no documented shape.
Shipment types
| Method | Path | Summary |
|---|---|---|
GET | /ShipmentTypes | Search shipment types. |
POST | /ShipmentTypes | Add shipment type. |
GET | /ShipmentTypes/{id} | Get shipment type. |
PUT | /ShipmentTypes/{id} | Update shipment type. |
DELETE | /ShipmentTypes/{id} | Delete shipment type. |
GET | /ShipmentTypes/List/{customerId} | List shipment types. |
GET /ShipmentTypes
Search shipment types.
Required access: the Shipment types - view Shipment types permission.
Also accepts the shared list parameters.
Response: envelope; data is ShipmentTypePagedList.
POST /ShipmentTypes
Add shipment type.
Required access: the Shipment types - create/edit/delete Shipment types permission.
Request body: ShipmentType (JSON).
Response: envelope; data is ShipmentType.
GET /ShipmentTypes/{id}
Get shipment type.
Required access: the Shipment types - view Shipment types permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Response: envelope; data is ShipmentType.
PUT /ShipmentTypes/{id}
Update shipment type.
Required access: the Shipment types - create/edit/delete Shipment types permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Request body: ShipmentType (JSON).
Response: envelope; data is ShipmentType.
DELETE /ShipmentTypes/{id}
Delete shipment type.
Required access: the Shipment types - create/edit/delete Shipment types permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Response: envelope; data is ShipmentType.
GET /ShipmentTypes/List/{customerId}
List shipment types.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | integer (int32) | Yes |
Response: envelope; data is ShipmentTypePagedList.
Exchange rates
| Method | Path | Summary |
|---|---|---|
GET | /FxRates | List exchange rates, newest first. |
POST | /FxRates | Adds a rate, or replaces the one already entered for that pair on that day. |
DELETE | /FxRates/{id} | Delete rate. |
GET /FxRates
List exchange rates, newest first.
Required access: the Zones - view Zones permission.
Response: envelope; data is array of FxRate.
POST /FxRates
Adds a rate, or replaces the one already entered for that pair on that day.
Required access: the Zones - create/edit/delete Zones permission.
Request body: FxRate (JSON).
Response: envelope; data is FxRate.
DELETE /FxRates/{id}
Delete rate.
Required access: the Zones - create/edit/delete Zones permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Response: envelope; data has no documented shape.