@vulog/aima-pricing
v1.2.48
Published
Pricing configuration — retrieve pricing by ID or by parameters.
Readme
@vulog/aima-pricing
Pricing configuration — retrieve pricing by ID or by parameters.
Installation
npm install @vulog/aima-pricing @vulog/aima-client @vulog/aima-coreUsage
import { getClient } from '@vulog/aima-client';
import { getPricingById, getPricingByParameter } from '@vulog/aima-pricing';
const client = getClient({ ... });
const pricing = await getPricingById(client, 'pricing-uuid');
const pricingResponse = await getPricingByParameter(client, {
modelId: 42,
serviceId: 'service-id',
});API Reference
getPricingById
getPricingById(client: Client, id: string): Promise<Pricing>Retrieves a pricing configuration by its UUID.
| Param | Type | Description |
| -------- | -------- | ------------------------- |
| client | Client | Authenticated AIMA client |
| id | string | Pricing UUID |
Returns: Promise<Pricing>
getPricingByParameter
getPricingByParameter(client: Client, pricingParameters?: Partial<PricingParameters>): Promise<PricingResponse>Retrieves pricing configuration matching the given parameters. All parameters are optional and no validation is applied.
| Param | Type | Description |
| -------------------- | ------------------------------- | --------------------------------- |
| client | Client | Authenticated AIMA client |
| pricingParameters | Partial<PricingParameters>? | Filter parameters (all optional) |
Returns: Promise<PricingResponse>
Types
PricingParameters
{
modelId: number;
serviceId: string;
vehicleId: string;
planId: string;
}Pricing
{
pricingId: string;
pricingParameters?: PricingParameters;
taxRates?: PricingTaxRate[];
plans?: PricingPlan[];
taxIncluded: boolean;
}PricingTaxRate
{
taxRate: number;
taxName?: string;
}PricingPlan
{
distanceIncluded: number;
unit: string;
pricePerUnit: number;
durationInMonths: number;
name: string;
pricePerUnitExceedingAllowance: number;
ratePerUnit: number;
rollingContract: boolean;
}PricingResponse
{
enable: boolean;
fleetId: string;
id: string;
updateDate: string;
userId: string;
version: number;
jsonSegment: {
jsonConfig: PricingJsonConfig[];
// ...additional fields
};
}PricingJsonConfig
Pricing JSON configuration segment. Structure depends on the fleet's pricing configuration.
