Checkout V3

To check availability of the items.

This API provides availability of medicines with alternatives. And calculates the total cart value.

Get the availability of medicines

POST {{apiUrl}}fulfillment/orders/checkout_v3arrow-up-right

For the medicines which are out of stock, available alternative medicines will be provided.

In API request, You need to pass either provide patient_id or mobile & patient_name.

Charges Breakdown Explanation

  • with_discount represents the actual payable amount after applying the offers.

  • without_discount represents the total amount without applying any discount. It can also be used to show Savings Calculation.

charges-total-with_discount = This amount is summation of items price * quantity.

charges-total-without_discount = This amount is summation of items mrp * quantity .

payable_amount.without_discount calculation

payable_amount.without_discount =
    total.without_discount
  + delivery_charge.without_discount
  + surge_charge.without_discount
  + handling_fee.without_discount
  + small_cart_fee.without_discount
  + delivery_tip_amount.without_discount

payable_amount.with_discount calculation

Things to know

This API provides the real time stock availability cases that can be occur are:

  • Similar to check-serviceability, checkout API is need to be called to have an updated the cart availability as item-availability is directly related to the pharmacy availability directly.

  • On Cart-Screen, Whenever the check-serviceability API is called the checkout should also be called with update location_token.

  • On Collecting Payment from patient always use payable_amount.with_discount .

NOTE : The amount quoted is the maximum amount it may or may not get reduced from the maximum quoted price. For Postpaid cleints, this Price Variation needs to handeled at their end.

Request Body

Name
Type
Description

apikey*

String

Authentication Token

location_token*

String

Get token from Check Serviceability V3 API

patient_id*

String

Id to uniquely identify the patient for whom the order is placed.

if mobile and patient name is provided, then patient_id is optional.

mobile

String

Patient's mobile no

patient_name

String

Patient's name

items*

String

Stringified Array of Items.

Items should contain at least 1 object.

MIN: 1 (medicines)

MAX: 20 (medicines)

Example:

latitude*

Number

Latitude of the customer

longitude*

Number

Longitude of the customer

zipcode*

String

Zipcode of the customer

find_alternative

Boolean

Flag to get item alternatives

show_cart_options

Boolean

To know alternate cart items options.

delivery_type

'pickup' | 'delivery'

"delivery" : Order will be delivered to patient address. "pickup" : Order is required to be picked-up by patient from pharmacy store

address

String

Address of Patient for delivery.

address_line2

String

Address Line 2 for long address

city

String

City of Patient for delivery

state

String

State of Patient for delivery

Last updated