NAV Navbar
  • Introduction
  • Overview
  • Communication
  • Introduction

    The Fresh KDS SDK allows for the integration between Fresh KDS and external systems using a univeral and defined format.


    Before KDS can accept data from an integration a few basic setup steps are needed. Contact Andrew Hulsey at Fresh Technology to discuss your integration and next steps.

    Getting Started

    alt text

    NOTE: You can change the POS under settings if needed

    alt text

    POS/Integration Listing

    Once your integration is complete. Contact Fresh Technology and supply a logo for the POS Integration listing. After review of your integration, Fresh Technology will add your integration as an offically supported integration and your product will be added to the list within KDS.


    Fresh KDS SDK Socket Communication

    Protocol Port
    UDP 28000
    TCP 9104



    To discover Fresh KDS Screens using Fresh Sdk, listen for UDP Broadcasts on port 28000. Each screen sends a broadcast containing the Device Identifier, IP Address, and SDK version every 15 seconds.

    Portocol Port
    UDP 28000


    Example Broadcast Data:
    //Start of Broadcast: FreshKDS
    //Version: 1.0
    //Identifier: E7A09AAD7B98
    //Name: emulator
    Property Length Index Description
    id 12 30 Identifier for KDS Screen
    name 20 50 Name of KDS Screen (limited to 20 characters)
    ipaddress 8 20 IP Address
    version 3 12 Version of SDK

    Send Order

    Send Order to KDS screen using socket connection, if successful will return parsed integration order id

    Portocol Port
    TCP 9104
    Example using telnet to connect/send order:
    telnet 9104
      "id": "b53ba7d8-9ca6-4eb5-a5d1-c90d321d10be",
      "name": "John Doe",
      "server": "Server Name",
      "mode": "For Here",
      "time": 1551454803184,
      "terminal": "Expo",
      "items": [
          "qty": 1,
          "name": "Chicken Sandwich",
          "mods": [
          "qty": 1,
          "name": "Cheeseburger",
          "mods": [
            "Onion Rings",
    note: remove line breaks from json to test example
    Success Returns IntegrationId:
    Failure Returns:
    Unable to parse data

    KDS Order

    Body Parameters

    Property Required Type Description
    id yes string Integration order id
    name yes string Order Name/Number
    time yes date Order Date/Time, ISO 8601 Format
    pickupTime no date Pickup Date/Time, ISO 8601 Format
    phoneNumber no string Phone number to contact regarding order
    deliveryAddress no string If order is for delivery, can supply and address for display
    mode yes string Order Mode (For Here, ToGo, Pickup, DriveThru, Delivery, CurbSide) note: if invalid order mode, mode will be added to order name
    server no string Server Name
    source no string Identifier of Integrator. This is for partner integrations with KDS and value to send must be supplied by Fresh Technology. Current accepted values are null or togotechnology.
    items yes KdsItem[] Items
    terminal yes string Pos Terminal
    specialInstructions no string Text based special instructions that will be displayed on the order
    vehicleModel no string Car Model
    vehicleColor no string Car Color
    costs no Costs Object that contains costs associated with the order
    deliveryService no DeliveryService Object contains information regarding the order if a delivery server is being used

    KDS Item

    Property Required Type Description
    id no string Item Id
    name yes string Item Name
    qty yes int Quantity
    price no string Cost of item, value should be a string and can include the currency symbol or not
    mods yes string[] Item Modifiers, empty array if none
    specialInstructions no string Text based special instructions that will be displayed on the item


    Property Required Type Description
    subtotal no string Sub total of the order
    tax no string Tax on the order
    deliveryFee no string Delivery Fee for the order
    surcharge no string Surcharge for the order
    convenienceFee no string Convenience Fee for the order
    tip no string Tip on the order
    total no string Total for the order
    promoCodes no promoCodes[] Promo codes for the order

    Promo Codes

    Property Required Type Description
    name no string Name of the promo code
    amount yes string Amount of Promo Code, value should be a string and can include the currenty symbol or not

    Delivery Service

    Property Required Type Description
    name yes string Name of the delivery service
    orderId yes string Delivery Service order Id
    driverPhone no string Phone number of the delivery driver