> ## Documentation Index
> Fetch the complete documentation index at: https://psw.belli.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Configure EPO Pricing

> Configure different pricing tiers for Express Parcel Operators (EPO) based on specific consignors. This API allows EPO to set custom pricing rules for individual consignors based on volume agreements, service levels, or negotiated rates.

<ParamField status="201" type="object">
  <ParamField name="configId" type="string">
    Configuration identifier
  </ParamField>

  <ParamField name="status" type="string">
    Configuration status
  </ParamField>

  <ParamField name="createdAt" type="string">
    Creation timestamp
  </ParamField>

  <ParamField name="createdBy" type="string">
    Creator email
  </ParamField>

  <ParamField name="message" type="string">
    Status message
  </ParamField>
</ParamField>

### Reference Documentation

<Info>
  For more information on EPO pricing configuration, please refer to:

  * Page 32 of "Functional\_Requirements\_V18 FINAL": [https://belli.sg/4oz9ZuL](https://belli.sg/4oz9ZuL)
</Info>


## OpenAPI

````yaml POST /api/epo/pricing-config
openapi: 3.0.3
info:
  title: Mock API
  version: 1.0.0
  description: >-
    Mock OpenAPI spec for QR API Service. All endpoints require API key
    authentication via 'Authorization: Bearer <token>' or 'x-api-key: <token>'
    headers.
servers:
  - url: https://1a557de0-701c-477d-bedd-433520441dae.mock.pstmn.io
    description: Production server
security:
  - ApiKeyAuth: []
  - ApiKeyHeader: []
tags:
  - name: auth-v1
    description: Authentication and user management
  - name: reference-data-v1
    description: Reference data and master data
  - name: flights-v1
    description: Flight schedules and capacity
  - name: quotes-v1
    description: Quotation and pricing
  - name: awb-stock-v1
    description: AWB Stock Management
  - name: bookings-v1
    description: Booking management
  - name: shipments-v1
    description: Shipment documents and tracking
  - name: compliance-v1
    description: Compliance and safety declarations
  - name: operations-v1
    description: Operational events and manifests
  - name: webhooks-v1
    description: Webhook management
  - name: admin-v1
    description: Administrative and audit functions
  - name: qr-exp-cgo-ext-availability-v1
    description: Legacy availability service
  - name: qr-exp-cgo-ext-booking-v1
    description: Legacy booking service
  - name: qr-exp-cgo-ext-flight-schedules-v1
    description: Legacy flight schedules service
  - name: qr-exp-cgo-shipments-v1
    description: Legacy shipments service
  - name: qr-exp-cgo-stock-v1
    description: Legacy stock service
  - name: qr-exp-cgo-tables-v1
    description: Legacy table data service
paths:
  /api/epo/pricing-config:
    post:
      tags:
        - reference-data-v1
      summary: Configure EPO Pricing
      description: >-
        Configure different pricing tiers for Express Parcel Operators (EPO)
        based on specific consignors. This API allows EPO to set custom pricing
        rules for individual consignors based on volume agreements, service
        levels, or negotiated rates.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EPOPricingConfigRequest'
      responses:
        '201':
          description: Pricing configuration successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EPOPricingConfigResponse'
components:
  schemas:
    EPOPricingConfigRequest:
      type: object
      properties:
        epoId:
          type: string
          example: EPO-123
        consignorId:
          type: string
          example: CGNR-456
        pricingRules:
          type: array
          items:
            $ref: '#/components/schemas/PricingRule'
        validFrom:
          type: string
          format: date
          example: '2025-01-01'
        validTo:
          type: string
          format: date
          example: '2025-12-31'
        autoRenew:
          type: boolean
          example: true
        notes:
          type: string
          example: Special pricing agreement for premium customer
      required:
        - epoId
        - consignorId
        - pricingRules
        - validFrom
        - validTo
    EPOPricingConfigResponse:
      type: object
      properties:
        configId:
          type: string
          example: CONF-789
        status:
          type: string
          example: ACTIVE
        createdAt:
          type: string
          format: date-time
          example: '2024-12-20T10:30:00Z'
        createdBy:
          type: string
          format: email
          example: user@example.com
        message:
          type: string
          example: Pricing configuration successfully created
    PricingRule:
      type: object
      properties:
        serviceLevel:
          type: string
          example: EXPRESS
        basePricePerKg:
          type: number
          example: 3.5
        minimumCharge:
          type: number
          example: 50
        currency:
          type: string
          example: USD
        volumeDiscounts:
          type: array
          items:
            $ref: '#/components/schemas/VolumeDiscount'
        surcharges:
          type: array
          items:
            $ref: '#/components/schemas/Surcharge'
    VolumeDiscount:
      type: object
      properties:
        minWeightKg:
          type: number
          example: 100
        maxWeightKg:
          type: number
          example: 500
        discountPercent:
          type: number
          example: 5
    Surcharge:
      type: object
      properties:
        type:
          type: string
          example: FUEL
        percentage:
          type: number
          example: 12.5
        fixedAmount:
          type: number
          example: 0.25
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
    ApiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key

````