Skip to content
Last updated

Release Notes

This document tracks notable updates to the Keeta Open Platform APIs and documentation. It is not intended to be a comprehensive list of all changes.


[Added] Store Status Now Differentiates Delivery and Pickup Services

June 23, 2026

Store status management has been enhanced to support independent tracking of delivery and pickup service availability. Previously, the store status only reflected a single overall operational state. Now, each service line has its own status, enabling more granular visibility into a store's operations.

Get Store Details now returns two additional fields:

  • deliveryRestStatus: indicates whether the store's delivery service is available, unavailable, or not enabled.
  • pickupRestStatus: indicates whether the store's pickup (self-collection) service is available, unavailable, or not enabled.

The existing overall status field remains and is now derived from the combination of these sub-statuses: the store is considered Open when either service is available, and Closed only when both are unavailable.

Store Status Update Notification (Event ID: 1102) now includes four additional fields in the webhook payload:

  • fromDeliveryRestStatus / toDeliveryRestStatus
  • fromPickupRestStatus / toPickupRestStatus

The webhook fires whenever any sub-status changes, even if the overall store status does not.

Suspend Store and Reactivate Store continue to operate on the store as a whole, suspending or restoring both delivery and pickup simultaneously. During a platform-managed override (e.g., severe weather), the Reactivate endpoint cannot restore a service that the platform has suspended. See the Store Status Management guide for details on platform override behavior.

A new Store Status Management guide has been published to help developers understand how delivery and pickup statuses interact, how platform overrides work.

See Get Store Details · Suspend Store · Reactivate Store · Store Status Update Notification


[New] Cash on Delivery (COD) Support

January 04, 2026

Keeta now supports Cash on Delivery (COD) orders. The following updates have been made across the Order API and Webhooks:

Get Order Details

  • Added payType field to indicate the payment method. When payType is Cash, the order is a COD order.
  • Added payTypeDesc field as the description of the payType field.
  • Updated the description of status enum value 10 (Order Submitted): removed "and paid for" to accommodate unpaid COD orders at the time of submission.

Cancel Order

  • Added error code 2090001015: COD orders do not support partial refunds by the merchant.
  • Added error code 2090001016: COD orders do not support merchant cancellation after the rider has picked up the order.

Order Webhooks

  • Added payType and payTypeDesc fields to the Order Placed Notification webhook payload.

See Get Order Details · Cancel Order · Order Placed Notification


[New] Nested ChoiceGroups for Non-listed Modifiers

September 29, 2025

The OpenItemCode-Based Menu Synchronization API now supports multi-layer ChoiceGroups for modifiers (ChoiceGroupSku) that are not sold separately on the menu.

Previously, multi-layer ChoiceGroups could only be built by binding a ChoiceGroupSku to an existing SKU via the relatedSkuOpenItemCode field. This required the modifier to also be a listed item on the menu.

A new field choiceGroupOpenItemCodeList (Array of strings) has been added under choiceGroupList[].choiceGroupSkuList[], allowing a second layer of ChoiceGroups to be attached directly to non-listed ChoiceGroupSku entities. The ChoiceGroupSku must not share the same name as any other SPU on the menu.

See OpenItemCode-Based Menu Sync API · Menu API Integration Guide