Mercedes.Agency.Orchestration.API

<back to all web services

GetMotabilityPricingRequest

Motability
Requires Authentication
The following routes are available for this service:
POST/v1/motability/pricingGets the motability pricing information for the current user roleGets the motability pricing information for the current user role
package dtos

import (
	"time"
)

type GetMotabilityPricingRequest struct {
}

type MotabilityPricingCsv struct {
	// @DataMember(Order=0)
	Id int `json:"id,omitempty"`
	// @DataMember(Order=1)
	CriteriaBM7NST string `json:"criteriaBM7NST"`
	// @DataMember(Order=2)
	Vtn string `json:"vtn"`
	// @DataMember(Order=3)
	BackOrderDropDown string `json:"backOrderDropDown"`
	// @DataMember(Order=4)
	CriteriaFullModelYearCode string `json:"criteriaFullModelYearCode"`
	// @DataMember(Order=5)
	CriteriaValidOptionCodes *string `json:"criteriaValidOptionCodes,omitempty"`
	// @DataMember(Order=6)
	CriteriaInvalidOptionCodes *string `json:"criteriaInvalidOptionCodes,omitempty"`
	// @DataMember(Order=7)
	PipNet float64 `json:"pipNet,omitempty"`
	// @DataMember(Order=8)
	PipVat float64 `json:"pipVat,omitempty"`
	// @DataMember(Order=9)
	PipGross float64 `json:"pipGross,omitempty"`
	// @DataMember(Order=10)
	WpmsNet float64 `json:"wpmsNet,omitempty"`
	// @DataMember(Order=11)
	WpmsVat float64 `json:"wpmsVat,omitempty"`
	// @DataMember(Order=12)
	WpmsGross float64 `json:"wpmsGross,omitempty"`
	// @DataMember(Order=13)
	DiscountNet float64 `json:"discountNet,omitempty"`
	// @DataMember(Order=14)
	DiscountVat float64 `json:"discountVat,omitempty"`
	// @DataMember(Order=15)
	DiscountGross float64 `json:"discountGross,omitempty"`
	// @DataMember(Order=16)
	ListPriceNet float64 `json:"listPriceNet,omitempty"`
	// @DataMember(Order=17)
	ListPriceVat float64 `json:"listPriceVat,omitempty"`
	// @DataMember(Order=18)
	ListPriceGross float64 `json:"listPriceGross,omitempty"`
	// @DataMember(Order=19)
	DeliveryChargeNet float64 `json:"deliveryChargeNet,omitempty"`
	// @DataMember(Order=20)
	DeliveryChargeVat float64 `json:"deliveryChargeVat,omitempty"`
	// @DataMember(Order=21)
	DeliveryChargeGross float64 `json:"deliveryChargeGross,omitempty"`
	// @DataMember(Order=22)
	FuelChargeNet float64 `json:"fuelChargeNet,omitempty"`
	// @DataMember(Order=23)
	FuelChargeVat float64 `json:"fuelChargeVat,omitempty"`
	// @DataMember(Order=24)
	FuelChargeGross float64 `json:"fuelChargeGross,omitempty"`
	// @DataMember(Order=25)
	NumberPlateFeeNet float64 `json:"numberPlateFeeNet,omitempty"`
	// @DataMember(Order=26)
	NumberPlateFeeVat float64 `json:"numberPlateFeeVat,omitempty"`
	// @DataMember(Order=27)
	NumberPlateFeeGross float64 `json:"numberPlateFeeGross,omitempty"`
	// @DataMember(Order=28)
	FirstRegistrationFeeNet float64 `json:"firstRegistrationFeeNet,omitempty"`
	// @DataMember(Order=29)
	FirstRegistrationFeeVat float64 `json:"firstRegistrationFeeVat,omitempty"`
	// @DataMember(Order=30)
	FirstRegistrationFeeGross float64 `json:"firstRegistrationFeeGross,omitempty"`
	// @DataMember(Order=31)
	RoadFundLicenceNet float64 `json:"roadFundLicenceNet,omitempty"`
	// @DataMember(Order=32)
	RoadFundLicenceVat float64 `json:"roadFundLicenceVat,omitempty"`
	// @DataMember(Order=33)
	RoadFundLicenceGross float64 `json:"roadFundLicenceGross,omitempty"`
	// @DataMember(Order=34)
	ValidFrom time.Time `json:"validFrom,omitempty"`
	// @DataMember(Order=35)
	ValidTo time.Time `json:"validTo,omitempty"`
	// @DataMember(Order=36)
	GovernmentGrantNet float64 `json:"governmentGrantNet,omitempty"`
	// @DataMember(Order=37)
	GovernmentGrantVat float64 `json:"governmentGrantVat,omitempty"`
	// @DataMember(Order=38)
	GovernmentGrantGross float64 `json:"governmentGrantGross,omitempty"`
}

type MotabilityPricingStatus string

const (
	MotabilityPricingStatusPending         MotabilityPricingStatus = "Pending"
	MotabilityPricingStatusCurrent                                 = "Current"
	MotabilityPricingStatusRecentlyExpired                         = "RecentlyExpired"
	MotabilityPricingStatusExpired                                 = "Expired"
)

type MotabilityPricing struct {
	MotabilityPricingCsv
	MotabilityPricingStatus MotabilityPricingStatus `json:"motabilityPricingStatus,omitempty"`
}

type GetMotabilityPricingResponse struct {
	MotabilityPricing []MotabilityPricing `json:"motabilityPricing"`
}

Go GetMotabilityPricingRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/motability/pricing HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"MotabilityPricing":[{"MotabilityPricingStatus":"Pending","Id":0,"CriteriaBM7NST":"String","VTN":"String","BackOrderDropDown":"String","CriteriaFullModelYearCode":"String","CriteriaValidOptionCodes":"String","CriteriaInvalidOptionCodes":"String","PIPNet":0,"PIPVat":0,"PIPGross":0,"WPMSNet":0,"WPMSVat":0,"WPMSGross":0,"DiscountNet":0,"DiscountVat":0,"DiscountGross":0,"ListPriceNet":0,"ListPriceVat":0,"ListPriceGross":0,"DeliveryChargeNet":0,"DeliveryChargeVat":0,"DeliveryChargeGross":0,"FuelChargeNet":0,"FuelChargeVat":0,"FuelChargeGross":0,"NumberPlateFeeNet":0,"NumberPlateFeeVat":0,"NumberPlateFeeGross":0,"FirstRegistrationFeeNet":0,"FirstRegistrationFeeVat":0,"FirstRegistrationFeeGross":0,"RoadFundLicenceNet":0,"RoadFundLicenceVat":0,"RoadFundLicenceGross":0,"ValidFrom":"\/Date(-62135596800000-0000)\/","ValidTo":"\/Date(-62135596800000-0000)\/","GovernmentGrantNet":0,"GovernmentGrantVat":0,"GovernmentGrantGross":0}]}