How does Fresh KDS get the dining options from the API?

I can’t find the dining option in the orders API. I know it’s possible, since Fresh KDS displays it - how do they get that? My searches only come up with feature requests and forum posts that say you’re working on it since 2021. In the data I get, I can see pickup/delivery/shipment, but that’s all.

Or, if they infer it from other data, what logic should I use that will be reliable?

:waving_hand: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

Additional Documentation

Order Fulfillments
Take a Pickup Order and Pay for It
Orders API: How It Works

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

The Orders API currently supports three types of fulfillment: Pickup, Shipment, and Delivery. There isn’t a specific “dining” option available directly through the Orders API. Fresh KDS and similar applications might infer dining options by using custom attributes or by interpreting specific order details and metadata.

If you want to implement a similar feature, you could consider the following approaches:

  1. Custom Attributes: Use the Orders API to attach custom attributes to orders that specify the dining option (e.g., dine-in, takeout). This requires setting up a system to manage these custom attributes and ensuring they are consistently applied to orders.

  2. Order Source or Metadata: Use the Order.source field or other metadata to differentiate between dining options. For example, orders placed through a specific channel or with certain tags could be interpreted as dine-in.

  3. Integration with Other Systems: If you have a point-of-sale system or another application that tracks dining options, you could integrate this data with your order management system to provide the necessary context.

These methods require additional setup and logic in your application to ensure that the dining option is accurately captured and interpreted.

This answer was reviewed by @Bryan-Square.

For the example in the photo, that customer is using Square POS (Register) to enter the orders, and then they’re displayed on Fresh KDS with the for here/to go delivery option. I’m assuming they’re using the Orders API like I am, but maybe not? Is there another place I need to be listening for to get that data?

Also, does this have an ETA for when it will be added to the Orders API? Seems like a simple add, just need to pass it along. Based on the other forum posts, now that the orders conversion is done, it should be doable, right?

The fulfillment of the order is the correct place to look for the information. We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team. :slight_smile: