Some POS will handle refunds differently due to the nature of their respective integration, however most POS will send refunds as per below.
Full Refunds
- Update Existing Order
- Create a new Order
Update Existing Order
When refunding an entire order in the POS terminal, the POS will:
Update the original Doshii order with a negative transaction reflecting the full refund amount. Typically you will see two transactions, 1; the original amount and 2; the refunded (negative) amount
The POS will update the Original Doshii order status to venue_cancelled
The POS will move the items to the unapprovedItems
list to reflect what items have been refunded
Create a New Order
When refunding an entire order in the POS terminal, and the POS is not able to keep track of the original order in Doshii, the POS will:
- Create a new order, with a negative transaction. Typically you will only see one transaction (that is negative)
- The POS will set the status of the NEW order to
venue_cancelled
- The POS will add refunded items to the
unapprovedItems
list to reflect what items have been refunded
Partial Refunds
- Update Existing Order
- Create a new Order
Update Existing Order
When refunding some items on an order in the POS terminal, the POS will:
-
-
-
- Update the original Doshii order with a negative transaction reflecting the amount of the refunded items. Typically you will see two transactions, 1; the original amount and 2; the refunded (negative) amount
- The original Doshii order will still remain complete, as the order is still valid it is just some item(s) have been refunded
- The POS should move the refunded items to the
unapprovedItems
list to reflect what items have been refunded
-
-
Create a New Order
When refunding some items on an order in the POS terminal, and the POS is not able to keep track of the original order in Doshii, the POS will:
-
-
-
- Create a new order, with a negative transaction that is the sum of only the refunded items. Typically you will only see one transaction (that is negative)
- This transaction will be less than the original order as it is a representation of ONLY the refunded items
- The POS will set the status of the NEW order to
venue_cancelled
. This is because the new order won't have any of the items that were no refunded. - The POS will add refunded items to the
unapprovedItems
list to reflect what items have been refunded
-
-
Example of unapproved items in Doshii
Example of negative transaction in Doshii
When the order is fully refunded, the status of the order will be updated to venue_cancelled
Below is an example of a partial refund, when using GET/orders/{orderId}:
{
"doshiiId": "3188533",
"locationId": "6ZpZ3jo9",
"status": "complete",
"type": "pickup",
"items": [
{
"name": "Cappuccino",
"tags": [
"Coffee"
],
"type": "single",
"uuid": "ac172464-3557-4a61-80e3-8635caff9a3d",
"posId": "001",
"options": [
{
"name": "Selected modifiers",
"variants": [
{
"name": "1 sugar",
"posId": "0011",
"price": "0"
}
]
}
],
"quantity": "2",
"surcounts": [
{
"name": "Hand ground",
"type": "absolute",
"posId": "0012",
"value": "50",
"amount": "50"
}
],
"unitPrice": "500",
"lastAction": {
"audit": "",
"logId": "a4b9ebb9-9548-474c-8afe-cfd6fa46598c",
"action": [
"order_created"
],
"performedAt": "2022-11-15T06:59:44.817Z"
},
"description": "Cappuccino",
"totalAfterSurcounts": "1050",
"totalBeforeSurcounts": "1000"
},
{
"name": "Omelette",
"tags": [
"Benedict modifiers"
],
"type": "single",
"uuid": "2b3d06a9-e581-4394-b971-37a85d03d10d",
"posId": "002",
"options": [],
"quantity": "1",
"surcounts": [],
"unitPrice": "1700",
"lastAction": {
"audit": "",
"logId": "a4b9ebb9-9548-474c-8afe-cfd6fa46598c",
"action": [
"order_created"
],
"performedAt": "2022-11-15T06:59:44.817Z"
},
"description": "Omelette",
"totalAfterSurcounts": "1700",
"totalBeforeSurcounts": "1700"
}
],
"surcounts": [],
"unapprovedItems": [
{
"name": "Omelette",
"tags": [
"Benedict modifiers"
],
"type": "single",
"uuid": "2b3d06a9-e581-4394-b971-37a85d03d10d",
"posId": "002",
"status": "voided",
"options": [],
"quantity": "1",
"surcounts": [],
"unitPrice": "1700",
"lastAction": {
"audit": "complete => complete",
"logId": "ffb6b537-b03d-40ff-ad25-5218ba0af308",
"action": [
"item_created"
],
"performedAt": "2022-11-15T07:01:08.516Z"
},
"description": "Omelette",
"totalAfterSurcounts": "1700",
"totalBeforeSurcounts": "1700"
}
],
"transactions": [
{
"id": "195871",
"orderId": "pos-1668495571513",
"status": "complete",
"amount": "-1700",
"method": "cash",
"prepaid": false,
"reference": null,
"invoice": null,
"surcounts": [],
"tip": "0",
"partnerInitiated": false,
"acceptLess": false,
"createdAt": "2022-11-15T07:01:25.311Z",
"updatedAt": "2022-11-15T07:01:25.311Z",
"version": "eaPeAxnQmJCm2kEdKj03cGbOrp77QBTDEgjVkqjd",
"uri": "https://sandbox.doshii.co/pos/v3/transactions/195871",
"orderUri": "https://sandbox.doshii.co/pos/v3/orders/pos-1668495571513"
},
{
"id": "195870",
"orderId": "pos-1668495571513",
"status": "complete",
"amount": "4450",
"method": "cash",
"prepaid": false,
"reference": null,
"invoice": null,
"surcounts": [],
"tip": "0",
"partnerInitiated": false,
"acceptLess": false,
"createdAt": "2022-11-15T07:00:25.980Z",
"updatedAt": "2022-11-15T07:00:25.980Z",
"version": "OkDdMwxqAlfrD7xlwBnbuV7AJne9AXUrExbNLxLa",
"uri": "https://sandbox.doshii.co/pos/v3/transactions/195870",
"orderUri": "https://sandbox.doshii.co/pos/v3/orders/pos-1668495571513"
}
],
"requiredAt": null,
"availableEta": null,
"manuallyProcessed": false,
"consumer": {
"name": "John Denver",
"email": "johnnyD21@yahoo.com",
"phone": "0413456789",
"address": {
"city": "Melbourne",
"line1": "234 Fun Galore",
"line2": "Level 4",
"state": "Victoria",
"country": "AU",
"postalCode": "3000"
}
},
"testOrder": true,
"checkinId": null,
"id": "pos-1668495571513",
"uri": "https://sandbox.doshii.co/pos/v3/orders/pos-1668495571513",
"transactionsUri": "https://sandbox.doshii.co/pos/v3/orders/pos-1668495571513/transactions",
"posCreatedAt": "2022-11-15T06:59:44.817Z",
"createdByApp": null,
"version": "Gj0mw7OXxYtv0kdyVgAgCvo0vAB7drh0YlEQDvd9",
"createdAt": "2022-11-15T06:59:44.818Z",
"updatedAt": "2022-11-15T23:35:50.308Z"
}
Comments
0 comments
Please sign in to leave a comment.