NAV navbar
logo

Resmio API (unauthenticated) Documentation

version v1
baseUri https://api.resmio.com/v1
protocols HTTPS

General

The Resmio API (unauthenticated) allowes partners to interact with resmio's backend to retrieve and search facilities, check their availability and create bookings. It is meant for third party applications that want to allow their users to search and book a spot in a restaurant. Each facility (restaurant) has an unique resmio ID in the system. For this documentation the resmio test facility The Fish (http://thefish.resmio.com) with the ID “the-fish“ is used. The resmio ID will not be changed when the name of the facility is edited by the user.

For any questions relating to the resmio API contact us via email at support@resmio.com.

Legal

Please note that you are accepting the terms of service of the resmio API by using the resmio API.

External

A collection of external resources and other information.

Faciltiy API


GET: /facility

Get a list of facilities (restaurants)


Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Query Parameters

in_partner_network

Filters facilities whether they want to be listed in partner networks or not.

PropertyValue
requiredfalse
typeboolean
examplestrue

verified

These restaurants have been reviewed by an employee of resmios and are considered real restaurants. Setting verified to True will return only real restaurants and exclude for example test restaurants.

PropertyValue
requiredfalse
typeboolean
examplestrue

automatically_confirm_bookings

Filters facilities whether they have automatic confirmation enabled or not. Setting this filter to True will return only restaurants that automatically accept bookings.

PropertyValue
requiredfalse
typeboolean
examplestrue

near

Get a list of facilities ordered by location. By default facilites in a radius of 50 km will be shown. This value can be adjusted by adding the „radius“ URL parameter and a kilometer (km) value. The parameter is a string with the comma separated longitude and latitude.

PropertyValue
requiredfalse
typestring
examples13.41053,52.52437

distance

If "near" is provided then by default facilities in a radius of 50 km will be shown. This parameter here adjusts the radius. e.g. 20000 for 20km

PropertyValue
requiredfalse
typeinteger
examples20000

check_closed_date

Get a list of facilities filtered by availability. By default if you specify a date in the check_closed_date parameter only facilities are returned that have at least 1 free seat available. You can adjust the required free seats by specifying the check_min_num field and ask the system for example to only return facilities that have "4" free seats available.

Note: The request parameters described above can be combined with other parameters, e.g. location filters

Note: As the calculation of availabilities is quite complex and we return "real time data" we rely on the cached value for availabilities. In some cases it can be that we return a facility and when you request later the availability it says that no free spots are available.

PropertyValue
requiredfalse
typestring
examples2019-08-28

check_min_num

This parameter allows you to filter facilities by the minimum required amount of free seats. It can only be used together with check_closed_date, otherwise it will be ignored.

Note: As the calculation of availabilities is quite complex and we return "real time data" we rely on the cached value for availabilities. In some cases it can be that we return a facility and when you request later the availability it says that no free spots are available.

PropertyValue
requiredfalse
typeinteger
examples3

booking_enabled

Get facilities with booking functionality enabled or disabled.

PropertyValue
requiredfalse
typeboolean

ordering_enabled

Get facilities with ordering functionality enabled or disabled.

PropertyValue
requiredfalse
typeboolean

offset

Skip over a number of elements by specifying an offset value for the query

PropertyValue
requiredfalse
typeinteger
examples20

limit

Limit the number of elements on the response

PropertyValue
requiredfalse
typeinteger
examples80

Possible Responses

200


CURL EXAMPLE

curl -X GET "https://api.resmio.com/v1/facility?in_partner_network=true&verified=true&automatically_confirm_bookings=true&near=13.41053,52.52437&distance=20000&check_closed_date=2019-08-28&check_min_num=3&offset=20&limit=80" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Content-Type: application/json

RESPONSE BODY

200

{
    "meta": {
        "limit": 20,
        "next": "/v1/facility?limit=20&offset=20",
        "offset": 0,
        "previous": null,
        "total_count": 4
    },
    "objects": [
        {
            "active_plan": "/v1/facility/velez-huynh/monthly_subscriptions/1",
            "attributes": [],
            "automatically_confirm_bookings": true,
            "average_revenue_per_guest": "20.00",
            "average_revenue_per_guest_currency": "NGN",
            "booking_cancel_username_required": false,
            "booking_charge_username_required": false,
            "booking_create_username_required": false,
            "booking_deposits_enabled": false,
            "booking_edit_username_required": false,
            "booking_enabled": true,
            "booking_interval": 30,
            "booking_timespan": 60,
            "buttonCode": "<script data-resmio-button=\"velez-huynh\">\n  (function(d, s) {\n    var js, rjs = d.getElementsByTagName(s)[0];\n    js = d.createElement(s);\n    js.src = \"//192.168.137.128:8000/static/en/button.js\";\n    js.async = true;\n   rjs.parentNode.insertBefore(js, rjs); }(document, \"script\")\n  );\n</script>",
            "cancel_without_fees": false,
            "cancel_without_fees_days": 0,
            "categories": [],
            "city": "Wilkinsonstad",
            "combined_resources_enabled": true,
            "country": "NG",
            "currency": "EUR",
            "deposit_amount": 50.0,
            "deposit_option": "booking",
            "deposit_reference": null,
            "deposit_times_enabled": false,
            "deposits_certain_group_enabled": false,
            "deposits_certain_group_size": 0,
            "deposits_charge_automatically": false,
            "deposits_widget_description": "",
            "description": "Dignissimos ea nisi unde est vitae velit. Doloribus culpa quidem nihil corrupti nam nisi. Veniam ullam ipsa atque rem amet vero possimus laboriosam. Ex saepe sed velit vitae natus animi nobis.",
            "description_multilingual": {},
            "email": "velez-huynh@example.com",
            "facebook_page": "",
            "facebook_pages": null,
            "facebook_pixel": "",
            "features": {
                "addons_purchasable": true,
                "admin_name": "Premium",
                "adwords_enabled": false,
                "api_key_enabled": true,
                "booking_deposit_enabled": false,
                "booking_export_enabled": true,
                "booking_filter_enabled": true,
                "booking_note_enabled": true,
                "booking_receipt_custom_text_enabled": true,
                "booking_reminders_enabled": true,
                "booking_tags_enabled": true,
                "closed_days_widget_text_enabled": true,
                "custom_prints_enabled": true,
                "customers_enabled": true,
                "default_addons": [
                    "tickets",
                    "free_resmio_website",
                    "small_distribution_network",
                    "free_partner_integration"
                ],
                "detailed_booking_notification_email_enabled": true,
                "discounts_enabled": true,
                "distribution_network_enabled": true,
                "feedback_enabled": true,
                "gastrofix_enabled": true,
                "google_reviews_enabled": false,
                "graphical_table_plan_enabled": false,
                "hide_gastrofix": false,
                "hide_invoices": false,
                "hide_payment_details": false,
                "hide_prices": false,
                "hide_recommend_resmio": false,
                "hide_tickets": false,
                "id": "premium",
                "individual_widget_text_enabled": true,
                "invoicing_name": "resmio Premium Software",
                "marketing_enabled": false,
                "monthly_fee": "49.90",
                "name": "Premium",
                "newsletter_enabled": false,
                "notification_emails_enabled": true,
                "pages_enabled": true,
                "paied_tariff": true,
                "partner_cover": "0.00",
                "partner_network_enabled": false,
                "past_booking_overview_enabled": true,
                "payment_transactions_enabled": true,
                "plan_screen_name": "Premium",
                "recurrent_booking_enabled": true,
                "report_enabled": true,
                "reputation_widget_enabled": false,
                "resmiotables_enabled": false,
                "retention_period_switch_enabled": true,
                "shift_schedule_enabled": true,
                "slow_hours_enabled": true,
                "sms_guest_enabled": false,
                "sms_guest_reminder_enabled": false,
                "sms_waiter_enabled": false,
                "sms_waiter_max_waiters": 0,
                "standard_cover": "0.00",
                "tableplan_enabled": true,
                "test_tariff": false,
                "ticket_fee": "0.06",
                "ticketing_enabled": true,
                "upgradable": false,
                "user_rights_management_enabled": true,
                "vectron_enabled": true,
                "weight": 5
            },
            "feedback_average": 83.0,
            "feedback_change": 83.0,
            "feedback_count": 9,
            "feedback_enabled": true,
            "feedback_public": false,
            "feedback_this_month": true,
            "food_average": 66.0,
            "google_page": "",
            "google_places_id": null,
            "google_redirects_enabled": true,
            "id": "velez-huynh",
            "images": [],
            "in_partner_network": false,
            "instagram_page": "",
            "language": "en",
            "location": null,
            "logo": null,
            "max_discount": 30,
            "max_num": 9,
            "min_book_in_advance_hours": 0,
            "min_num": 1,
            "name": "Velez-Huynh",
            "offers": [],
            "opening_hours": [
                {
                    "begins": "09:00",
                    "capacity": 10,
                    "ends": "22:00",
                    "weekdays": [
                        0,
                        1,
                        2,
                        3,
                        4,
                        5,
                        6
                    ]
                },
                {
                    "begins": "09:00",
                    "capacity": 10,
                    "ends": "22:00",
                    "weekdays": [
                        0,
                        1,
                        2,
                        3,
                        4,
                        5,
                        6
                    ]
                }
            ],
            "ordering_enabled": true,
            "paypal_client_id": null,
            "paypal_secret_key": null,
            "phone": "",
            "pii_retention_period": "forever",
            "primary_review_channel": "resmio",
            "reachedBookingLimit": false,
            "receipt_extra_text": "",
            "resource_combination_by_combination": false,
            "resource_combination_by_group": true,
            "resource_uri": "/v1/facility/velez-huynh",
            "resources_enabled": true,
            "send_bookings_to_vectron": false,
            "send_reminders": false,
            "service_average": 100.0,
            "short_description": "",
            "show_tables_and_allow_allocation_of_bookings": false,
            "slug": "velez-huynh",
            "state": "Berlin",
            "street": "Allen Plains",
            "stripe_publish_key": null,
            "stripe_secret_key": null,
            "stripe_sepa_enabled": false,
            "timezone": "Europe/Berlin",
            "twitter_page": "",
            "type": "restaurant",
            "unavailable_booking_enabled": false,
            "unique_deposit_hours": {},
            "vat_id": "",
            "vat_rate": "0",
            "verified": true,
            "visual_opening_hours": [],
            "website": "",
            "widgetCode": "<div id=\"resmio-velez-huynh\"></div>\n<script>(function(d, s) {\n    var js, rjs = d.getElementsByTagName(s)[0];\n    js = d.createElement(s);\n    js.src = \"//192.168.137.128:8000/static/en/widget.js#id=velez-huynh&width=275px&height=400px\";\n    rjs.parentNode.insertBefore(js, rjs);\n}(document, \"script\"));\n</script>",
            "widget_closed_text": "Sorry, we are closed on %s",
            "widget_custom_text": "",
            "youtube_page": "",
            "zip_code": "86881"
        },
        ...
    ]
}
Type
any


Read Public Info

GET: /facility/{facility_id}

Get the public information of one facility specified by facility_id As part of the response you will get the button and widget code for integration in to a website. The field name of the button code is “buttonCode”. The field name of the widget code is "widgetCode".


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

200


Read Public Info

CURL EXAMPLE

curl -X GET "https://api.resmio.com/v1/facility/{facility_id}" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Content-Type: application/json

RESPONSE BODY

200

{
    "attributes": [],
    "booking_cancel_username_required": false,
    "booking_charge_username_required": false,
    "booking_create_username_required": false,
    "booking_deposits_enabled": false,
    "booking_edit_username_required": false,
    "buttonCode": "<script data-resmio-button=\"velez-huynh\">\n  (function(d, s) {\n    var js, rjs = d.getElementsByTagName(s)[0];\n    js = d.createElement(s);\n    js.src = \"//192.168.137.128:8000/static/en/button.js\";\n    js.async = true;\n   rjs.parentNode.insertBefore(js, rjs); }(document, \"script\")\n  );\n</script>",
    "cancel_without_fees": false,
    "cancel_without_fees_days": 0,
    "categories": [],
    "city": "Wilkinsonstad",
    "country": "NG",
    "currency": "EUR",
    "deposit_amount": 50.0,
    "deposit_option": "booking",
    "deposit_reference": null,
    "deposit_times_enabled": false,
    "deposits_certain_group_enabled": false,
    "deposits_certain_group_size": 0,
    "deposits_charge_automatically": false,
    "deposits_widget_description": "",
    "description": "Dignissimos ea nisi unde est vitae velit. Doloribus culpa quidem nihil corrupti nam nisi. Veniam ullam ipsa atque rem amet vero possimus laboriosam. Ex saepe sed velit vitae natus animi nobis.",
    "description_multilingual": {},
    "email": "velez-huynh@example.com",
    "facebook_page": "",
    "facebook_pixel": "",
    "feedback_average": null,
    "feedback_change": null,
    "feedback_count": null,
    "feedback_enabled": true,
    "feedback_public": false,
    "feedback_this_month": null,
    "food_average": null,
    "id": "velez-huynh",
    "images": [],
    "in_partner_network": false,
    "instagram_page": "",
    "language": "en",
    "location": null,
    "logo": null,
    "max_num": 9,
    "min_book_in_advance_hours": 0,
    "min_num": 1,
    "name": "Velez-Huynh",
    "offers": [],
    "opening_hours": [
        {
            "begins": "09:00",
            "capacity": 10,
            "ends": "22:00",
            "weekdays": [
                0,
                1,
                2,
                3,
                4,
                5,
                6
            ]
        },
        {
            "begins": "09:00",
            "capacity": 10,
            "ends": "22:00",
            "weekdays": [
                0,
                1,
                2,
                3,
                4,
                5,
                6
            ]
        }
    ],
    "phone": "",
    "primary_review_channel": "resmio",
    "reachedBookingLimit": false,
    "resource_uri": "/v1/facility/velez-huynh",
    "service_average": null,
    "short_description": "",
    "slug": "velez-huynh",
    "state": "Berlin",
    "street": "Allen Plains",
    "stripe_sepa_enabled": false,
    "timezone": "Europe/Berlin",
    "twitter_page": "",
    "type": "restaurant",
    "unique_deposit_hours": {},
    "verified": true,
    "visual_opening_hours": [],
    "website": "",
    "widgetCode": "<div id=\"resmio-velez-huynh\"></div>\n<script>(function(d, s) {\n    var js, rjs = d.getElementsByTagName(s)[0];\n    js = d.createElement(s);\n    js.src = \"//192.168.137.128:8000/static/en/widget.js#id=velez-huynh&width=275px&height=400px\";\n    rjs.parentNode.insertBefore(js, rjs);\n}(document, \"script\"));\n</script>",
    "widget_closed_text": "Sorry, we are closed on %s",
    "widget_custom_text": "",
    "youtube_page": "",
    "zip_code": "86881"
}
Type
any


Read Availabilities

GET: /facility/{facility_id}/availability

Get the availabilities for a facility for specific day. It will return the availabilities for today if no date is explicitely set.


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Query Parameters

date__gte

Specify the date to filter. The date is understood to be in the timezone of the facility.

PropertyValue
requiredfalse
typedate-only
examples2019-08-29

Possible Responses

200


Read Availabilities

CURL EXAMPLE

curl -X GET "https://api.resmio.com/v1/facility/{facility_id}/availability?date__gte=2019-08-29" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Content-Type: application/json

RESPONSE BODY

200

{
  "meta": {
    "limit": 1000,
    "next": null,
    "offset": 0,
    "previous": null,
    "total_count": 19
  },
  "objects": [
    {
      "available": 20,
      "available_authenticated": 20,
      "checksum": "ada9108866fe1a84916a47ca06ea807e14f293f218f12df3c4b5e51fea0171d3",
      "date": "2019-08-29T10:00:00Z",
      "id": null,
      "local_date_formatted": "01. Oktober 2016 12:00",
      "local_time_formatted": "12:00",
      "message": null,
      "price_change": 0,
      "resource_uri": "\/v1\/facility\/the-fish\/availability\/1475316000"
    },
    ...
    {
      "available": 20,
      "available_authenticated": 20,
      "checksum": "8c7c910a178ce360271c5011b803fe87fac8001c93d3a443b4f0cbc8c8c605f9",
      "date": "2019-08-29T19:00:00Z",
      "id": null,
      "local_date_formatted": "01. Oktober 2016 21:00",
      "local_time_formatted": "21:00",
      "message": null,
      "price_change": 0,
      "resource_uri": "\/v1\/facility\/the-fish\/availability\/1475348400"
    }
  ]
}
Type
any


Menu Widget

GET: /facility/{facility_id}/menu_widget

Get the content for the menu widget, in general a list with all configured menus This is only available when enabled by the facility.


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Query Parameters

offset

Skip over a number of elements by specifying an offset value for the query

PropertyValue
requiredfalse
typeinteger
examples20

limit

Limit the number of elements on the response

PropertyValue
requiredfalse
typeinteger
examples80

Possible Responses

200


Menu Widget

CURL EXAMPLE

curl -X GET "https://api.resmio.com/v1/facility/{facility_id}/menu_widget?offset=20&limit=80" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Content-Type: application/json

RESPONSE BODY

200

{
    "meta": {
        "limit": 20,
        "next": null,
        "offset": 0,
        "previous": null,
        "total_count": 1
    },
    "objects": [{
            "allow_cash": true,
            "allow_credit_card": false,
            "allow_delivery": true,
            "allow_paypal": false,
            "allow_pickup": true,
            "allow_qr_ordering": false,
            "allow_sepa_direct_debit": false,
            "created": "2020-08-03T08:41:53.185766",
            "delivery_area": null,
            "delivery_days_in_advance": 0,
            "delivery_fee": "0.00",
            "delivery_lead_time": 60,
            "delivery_minimum_order_value": "0.00",
            "enabled": true,
            "facility": "/v1/facility/the-fish",
            "force_prepayment_order_value": null,
            "id": 2,
            "menu_categories": [{
                    "created": "2020-08-03T08:41:53.246097",
                    "description": "Quality beyond generation air career evening. Understand writer method story season. See through specific body different.",
                    "facility": "/v1/facility/the-fish",
                    "id": 10,
                    "image": null,
                    "menu": "/v1/facility/the-fish/menus/2",
                    "name": "Beverages",
                    "online_order_enabled": true,
                    "priority": 5.0,
                    "products": ["/v1/facility/the-fish/products/16", "/v1/facility/the-fish/products/17", "/v1/facility/the-fish/products/18"],
                    "resource_uri": "/v1/facility/the-fish/menu_categories/10",
                    "show_products_in_menu": true,
                    "updated": "2020-08-03T08:41:53.246121"
                }, {
                    "created": "2020-08-03T08:41:53.242151",
                    "description": "Direction behavior rate easy call season. Remain represent usually carry station indicate. Center necessary issue.\nAvailable purpose ground up. Charge word attack human activity court.",
                    "facility": "/v1/facility/the-fish",
                    "id": 9,
                    "image": null,
                    "menu": "/v1/facility/the-fish/menus/2",
                    "name": "Salads",
                    "online_order_enabled": true,
                    "priority": 1.0,
                    "products": ["/v1/facility/the-fish/products/14", "/v1/facility/the-fish/products/15", "/v1/facility/the-fish/products/13"],
                    "resource_uri": "/v1/facility/the-fish/menu_categories/9",
                    "show_products_in_menu": true,
                    "updated": "2020-08-03T08:41:53.242184"
                }, {
                    "created": "2020-08-03T08:41:53.238451",
                    "description": "Size across region body director. Certainly nice art later scene lay. Get beautiful eat minute audience once produce serious.",
                    "facility": "/v1/facility/the-fish",
                    "id": 8,
                    "image": null,
                    "menu": "/v1/facility/the-fish/menus/2",
                    "name": "Burger",
                    "online_order_enabled": true,
                    "priority": 3.0,
                    "products": [],
                    "resource_uri": "/v1/facility/the-fish/menu_categories/8",
                    "show_products_in_menu": true,
                    "updated": "2020-08-03T08:41:53.238488"
                }, {
                    "created": "2020-08-03T08:41:53.234847",
                    "description": "Civil inside consider fact. Produce many require consumer.\nCongress right prove record discover instead. Party business civil fill group.\nPull surface term. Allow whatever top next.",
                    "facility": "/v1/facility/the-fish",
                    "id": 7,
                    "image": null,
                    "menu": "/v1/facility/the-fish/menus/2",
                    "name": "Sandwiches",
                    "online_order_enabled": true,
                    "priority": 4.0,
                    "products": [],
                    "resource_uri": "/v1/facility/the-fish/menu_categories/7",
                    "show_products_in_menu": true,
                    "updated": "2020-08-03T08:41:53.234870"
                }, {
                    "created": "2020-08-03T08:41:53.230444",
                    "description": "Parent tough follow all over. Next vote top baby watch them.\nAfter general religious reflect.\nBoy one wear simply. Shake beyond give cell land build our.",
                    "facility": "/v1/facility/the-fish",
                    "id": 6,
                    "image": null,
                    "menu": "/v1/facility/the-fish/menus/2",
                    "name": "Pizzas",
                    "online_order_enabled": true,
                    "priority": 2.0,
                    "products": ["/v1/facility/the-fish/products/10", "/v1/facility/the-fish/products/11", "/v1/facility/the-fish/products/12"],
                    "resource_uri": "/v1/facility/the-fish/menu_categories/6",
                    "show_products_in_menu": true,
                    "updated": "2020-08-03T08:41:53.230466"
                }
            ],
            "name": "default",
            "pickup_days_in_advance": 0,
            "pickup_lead_time": 60,
            "product_delivery_accept_hours": [{
                    "begins": "09:00:00",
                    "created": "2020-08-03T08:41:53.188988",
                    "ends": "22:00:00",
                    "facility": "/v1/facility/the-fish",
                    "id": 2,
                    "menu": "/v1/facility/the-fish/menus/2",
                    "resource_uri": "/v1/facility/the-fish/product_delivery_accept_hours/2",
                    "updated": "2020-08-03T08:41:53.189025",
                    "weekdays": [0, 1, 2, 3, 4, 5, 6]
                }
            ],
            "product_pickup_accept_hours": [{
                    "begins": "09:00:00",
                    "created": "2020-08-03T08:41:53.191791",
                    "ends": "22:00:00",
                    "facility": "/v1/facility/the-fish",
                    "id": 2,
                    "menu": "/v1/facility/the-fish/menus/2",
                    "resource_uri": "/v1/facility/the-fish/product_pickup_accept_hours/2",
                    "updated": "2020-08-03T08:41:53.191813",
                    "weekdays": [0, 1, 2, 3, 4, 5, 6]
                }
            ],
            "product_qr_order_accept_hours": [{
                    "begins": "09:00:00",
                    "created": "2020-08-03T08:41:53.194271",
                    "ends": "22:00:00",
                    "facility": "/v1/facility/the-fish",
                    "id": 2,
                    "menu": "/v1/facility/the-fish/menus/2",
                    "menu_categories": [],
                    "resource_uri": "/v1/facility/the-fish/product_qr_order_accept_hours/2",
                    "updated": "2020-08-03T08:41:53.194309",
                    "weekdays": [0, 1, 2, 3, 4, 5, 6]
                }
            ],
            "products": [{
                    "created": "2020-08-03T08:41:53.351387",
                    "description": "Activity south several book spend. Statement treatment town maybe example fall. Relationship become another wear maybe.\nPut turn follow improve series.",
                    "facility": "/v1/facility/the-fish",
                    "id": 13,
                    "image": "",
                    "menu": "/v1/facility/the-fish/menus/2",
                    "menu_category": "/v1/facility/the-fish/menu_categories/9",
                    "online_order_enabled": true,
                    "price_gross": "3.99",
                    "priority": 1.0,
                    "product_allergens_exist": true,
                    "product_identifier": "1",
                    "product_modifiers_exist": true,
                    "product_variations_exist": true,
                    "resource_uri": "/v1/facility/the-fish/products/13",
                    "show_product_in_menu": true,
                    "title": "Cesar Salad",
                    "updated": "2020-08-03T12:19:37.393787"
                }, {
                    "created": "2020-08-03T08:41:53.458207",
                    "description": "Air cover sign rise. Born region sport candidate. West population market save impact.\nStudy majority within control brother part.",
                    "facility": "/v1/facility/the-fish",
                    "id": 18,
                    "image": "",
                    "menu": "/v1/facility/the-fish/menus/2",
                    "menu_category": "/v1/facility/the-fish/menu_categories/10",
                    "online_order_enabled": true,
                    "price_gross": "1.99",
                    "priority": 3.0,
                    "product_allergens_exist": false,
                    "product_identifier": "9",
                    "product_modifiers_exist": true,
                    "product_variations_exist": true,
                    "resource_uri": "/v1/facility/the-fish/products/18",
                    "show_product_in_menu": true,
                    "title": "Sprite",
                    "updated": "2020-08-03T08:41:53.458230"
                }, {
                    "created": "2020-08-03T08:41:53.439333",
                    "description": "Blue not anyone walk TV important. Pretty your keep month my each bag. Line especially especially finally great.\nLight no source let. Water record mean head bit difficult bit.",
                    "facility": "/v1/facility/the-fish",
                    "id": 17,
                    "image": "",
                    "menu": "/v1/facility/the-fish/menus/2",
                    "menu_category": "/v1/facility/the-fish/menu_categories/10",
                    "online_order_enabled": true,
                    "price_gross": "1.99",
                    "priority": 2.0,
                    "product_allergens_exist": false,
                    "product_identifier": "8",
                    "product_modifiers_exist": true,
                    "product_variations_exist": true,
                    "resource_uri": "/v1/facility/the-fish/products/17",
                    "show_product_in_menu": true,
                    "title": "Coke",
                    "updated": "2020-08-03T08:41:53.439373"
                }, {
                    "created": "2020-08-03T08:41:53.422015",
                    "description": "Describe prevent trade. What suggest long occur past. Crime score seven modern store personal.\nFormer although of goal four pull discover. Hope explain all side recognize.",
                    "facility": "/v1/facility/the-fish",
                    "id": 16,
                    "image": "",
                    "menu": "/v1/facility/the-fish/menus/2",
                    "menu_category": "/v1/facility/the-fish/menu_categories/10",
                    "online_order_enabled": true,
                    "price_gross": "1.49",
                    "priority": 1.0,
                    "product_allergens_exist": false,
                    "product_identifier": "7",
                    "product_modifiers_exist": true,
                    "product_variations_exist": true,
                    "resource_uri": "/v1/facility/the-fish/products/16",
                    "show_product_in_menu": true,
                    "title": "Water",
                    "updated": "2020-08-03T08:41:53.422037"
                }, {
                    "created": "2020-08-03T08:41:53.393888",
                    "description": "Total sing military. Toward subject interest practice manager yes visit. Message identify again open allow.",
                    "facility": "/v1/facility/the-fish",
                    "id": 15,
                    "image": "",
                    "menu": "/v1/facility/the-fish/menus/2",
                    "menu_category": "/v1/facility/the-fish/menu_categories/9",
                    "online_order_enabled": true,
                    "price_gross": "7.99",
                    "priority": 3.0,
                    "product_allergens_exist": false,
                    "product_identifier": "3",
                    "product_modifiers_exist": true,
                    "product_variations_exist": true,
                    "resource_uri": "/v1/facility/the-fish/products/15",
                    "show_product_in_menu": true,
                    "title": "Noodle Salad",
                    "updated": "2020-08-03T08:41:53.393910"
                }, {
                    "created": "2020-08-03T08:41:53.373162",
                    "description": "Their way course attention TV. Performance new door rise policy.\nExplain wall sea decision baby series. Send big then.\nRespond teacher play western.",
                    "facility": "/v1/facility/the-fish",
                    "id": 14,
                    "image": "",
                    "menu": "/v1/facility/the-fish/menus/2",
                    "menu_category": "/v1/facility/the-fish/menu_categories/9",
                    "online_order_enabled": true,
                    "price_gross": "7.99",
                    "priority": 2.0,
                    "product_allergens_exist": false,
                    "product_identifier": "2",
                    "product_modifiers_exist": true,
                    "product_variations_exist": true,
                    "resource_uri": "/v1/facility/the-fish/products/14",
                    "show_product_in_menu": true,
                    "title": "Chef Salad",
                    "updated": "2020-08-03T08:41:53.373185"
                }, {
                    "created": "2020-08-03T08:41:53.316416",
                    "description": "Learn finish including laugh. Event recent summer under article drug source. Bit perhaps individual sound small leg watch ten. Seek wife Congress offer month.",
                    "facility": "/v1/facility/the-fish",
                    "id": 12,
                    "image": "",
                    "menu": "/v1/facility/the-fish/menus/2",
                    "menu_category": "/v1/facility/the-fish/menu_categories/6",
                    "online_order_enabled": true,
                    "price_gross": "8.99",
                    "priority": 3.0,
                    "product_allergens_exist": false,
                    "product_identifier": "6",
                    "product_modifiers_exist": true,
                    "product_variations_exist": true,
                    "resource_uri": "/v1/facility/the-fish/products/12",
                    "show_product_in_menu": true,
                    "title": "Pizza Chef",
                    "updated": "2020-08-03T08:41:53.316443"
                }, {
                    "created": "2020-08-03T08:41:53.294920",
                    "description": "Last bring determine open. Participant collection large control push space win.\nGun success medical door beautiful.",
                    "facility": "/v1/facility/the-fish",
                    "id": 11,
                    "image": "",
                    "menu": "/v1/facility/the-fish/menus/2",
                    "menu_category": "/v1/facility/the-fish/menu_categories/6",
                    "online_order_enabled": true,
                    "price_gross": "7.99",
                    "priority": 2.0,
                    "product_allergens_exist": false,
                    "product_identifier": "5",
                    "product_modifiers_exist": true,
                    "product_variations_exist": true,
                    "resource_uri": "/v1/facility/the-fish/products/11",
                    "show_product_in_menu": true,
                    "title": "Pizza Margarita",
                    "updated": "2020-08-03T08:41:53.294957"
                }, {
                    "created": "2020-08-03T08:41:53.275024",
                    "description": "About government level state remain light control. Positive during writer animal. Talk remember which question.\nSeveral inside senior serious. Physical drive art across. Father field similar.",
                    "facility": "/v1/facility/the-fish",
                    "id": 10,
                    "image": "",
                    "menu": "/v1/facility/the-fish/menus/2",
                    "menu_category": "/v1/facility/the-fish/menu_categories/6",
                    "online_order_enabled": true,
                    "price_gross": "5.99",
                    "priority": 1.0,
                    "product_allergens_exist": false,
                    "product_identifier": "4",
                    "product_modifiers_exist": true,
                    "product_variations_exist": true,
                    "resource_uri": "/v1/facility/the-fish/products/10",
                    "show_product_in_menu": true,
                    "title": "Salami Pizza",
                    "updated": "2020-08-03T08:41:53.275046"
                }
            ],
            "qr_allow_cash": false,
            "qr_allow_credit_card": false,
            "qr_allow_paypal": false,
            "qr_allow_sepa_direct_debit": false,
            "qr_cash_payment_text": "",
            "qr_force_prepayment_order_value": null,
            "resource_uri": "/v1/facility/the-fish/menu_widget/2",
            "updated": "2020-08-03T12:14:08.828802"
        }
    ]
}
Type
any


Create Menu Widget Cart

POST: /facility/{facility_id}/menu_widget_cart

Creates a new cart for the menu widget, which holds all the products that one wants to buy. Each cart has a type, either delivery, pickup or qr_order. You have to remember the returned UUID as you will need it later as authentication (Header MENU-CART-UUID) for all cart modifications (e.g. adding a product to the cart).


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

201


Create Menu Widget Cart

CURL EXAMPLE

curl -X POST "https://api.resmio.com/v1/facility/{facility_id}/menu_widget_cart" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Content-Type: application/json

REQUEST BODY

{
  "type": "delivery"
}
Type
any

RESPONSE BODY

201

{
    "created": "2020-08-03T12:26:43Z",
    "facility": "/v1/facility/the-fish",
    "id": 6,
    "product_cart_items": [],
    "product_orders": [],
    "resource_uri": "/v1/facility/the-fish/menu_widget_cart/6",
    "status": "open",
    "type": "delivery",
    "updated": "2020-08-03T12:26:43Z",
    "uuid": "2c170e8f-31d6-4578-97af-e8408dc77a68"
}
Type
any


Create Menu Widget Cart Item

POST: /facility/{facility_id}/menu_widget_cart_item

Adds a product to the cart including the selected variation and modifiers.


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

MENU-CART-UUID

The UUID of the cart. This UUID is returned upon creation of a cart and acts as authentication for all cart modifications.

PropertyValue
requiredtrue
typestring
examplesbc9c29e5-6137-45b5-b900-8be8812a82ba

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

201


Create Menu Widget Cart Item

CURL EXAMPLE

curl -X POST "https://api.resmio.com/v1/facility/{facility_id}/menu_widget_cart_item" \
	-H "MENU-CART-UUID: bc9c29e5-6137-45b5-b900-8be8812a82ba" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

MENU-CART-UUID: bc9c29e5-6137-45b5-b900-8be8812a82ba
Content-Type: application/json

REQUEST BODY

{
    "id": null,
    "quantity": 1,
    "product": "/v1/facility/the-fish/menu_widget_product/13",
    "product_variation": "/v1/facility/the-fish/product_variations/37",
    "product_modifiers": ["/v1/facility/the-fish/product_modifiers/35"],
    "facility": "/v1/facility/the-fish",
    "menu_widget_cart": "/v1/facility/the-fish/menu_widget_cart/6"
}
Type
any

RESPONSE BODY

201

{
    "created": "2020-08-03T12:26:43Z",
    "description": "Small, Yoghurt",
    "facility": "/v1/facility/the-fish",
    "id": 1,
    "menu": "/v1/facility/the-fish/menus/2",
    "menu_widget_cart": "/v1/facility/the-fish/menu_widget_cart/6",
    "price_gross": "3.9900",
    "product": "/v1/facility/the-fish/menu_widget_product/13",
    "product_modifiers": ["/v1/facility/the-fish/product_modifiers/35"],
    "product_variation": "/v1/facility/the-fish/product_variations/37",
    "quantity": 1,
    "resource_uri": "/v1/facility/the-fish/menu_widget_cart_item/1",
    "title": "Cesar Salad",
    "updated": "2020-08-03T12:26:43Z"
}
Type
any


Delete Menu Widget Cart Item

DELETE: /facility/{facility_id}/menu_widget_cart_item/{menu_widget_cart_item_id}

Deletes a menu widget cart item (specified by menu_widget_cart_item_id) of one facility specified by facility_id


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

menu_widget_cart_item_id

PropertyValue
requiredtrue
typestring

Header Parameters

MENU-CART-UUID

The UUID of the cart. This UUID is returned upon creation of a cart and acts as authentication for all cart modifications.

PropertyValue
requiredtrue
typestring
examplesbc9c29e5-6137-45b5-b900-8be8812a82ba

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

204


Delete Menu Widget Cart Item

CURL EXAMPLE

curl -X DELETE "https://api.resmio.com/v1/facility/{facility_id}/menu_widget_cart_item/{menu_widget_cart_item_id}" \
	-H "MENU-CART-UUID: bc9c29e5-6137-45b5-b900-8be8812a82ba" \
	-H "Content-Type: application/json"

REQUEST HEADERS

MENU-CART-UUID: bc9c29e5-6137-45b5-b900-8be8812a82ba
Content-Type: application/json

RESPONSE BODY


Updates Menu Widget Cart Item

PATCH: /facility/{facility_id}/menu_widget_cart_item/{menu_widget_cart_item_id}

Partial update of a menu widget cart item (specified by menu_menu_widget_cart_item_id) of a facility (specified by facility_id).


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

menu_widget_cart_item_id

PropertyValue
requiredtrue
typestring

Header Parameters

MENU-CART-UUID

The UUID of the cart. This UUID is returned upon creation of a cart and acts as authentication for all cart modifications.

PropertyValue
requiredtrue
typestring
examplesbc9c29e5-6137-45b5-b900-8be8812a82ba

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

202


Updates Menu Widget Cart Item

CURL EXAMPLE

curl -X PATCH "https://api.resmio.com/v1/facility/{facility_id}/menu_widget_cart_item/{menu_widget_cart_item_id}" \
	-H "MENU-CART-UUID: bc9c29e5-6137-45b5-b900-8be8812a82ba" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

MENU-CART-UUID: bc9c29e5-6137-45b5-b900-8be8812a82ba
Content-Type: application/json

REQUEST BODY

{
    "created": "2020-08-03T12:49:09Z",
    "description": "Medium, Yoghurt",
    "facility": "/v1/facility/the-fish",
    "id": 3,
    "menu": "/v1/facility/the-fish/menus/2",
    "menu_widget_cart": "/v1/facility/the-fish/menu_widget_cart/6",
    "price_gross": "5.9900",
    "product": "/v1/facility/the-fish/menu_widget_product/13",
    "product_modifiers": ["/v1/facility/the-fish/product_modifiers/35"],
    "product_variation": "/v1/facility/the-fish/product_variations/38",
    "quantity": 2,
    "resource_uri": "/v1/facility/the-fish/menu_widget_cart_item/3",
    "title": "Cesar Salad",
    "updated": "2020-08-03T12:49:09Z"
}
Type
any

RESPONSE BODY

202

{
    "created": "2020-08-03T12:49:09Z",
    "description": "Medium, Yoghurt",
    "facility": "/v1/facility/the-fish",
    "id": 3,
    "menu": "/v1/facility/the-fish/menus/2",
    "menu_widget_cart": "/v1/facility/the-fish/menu_widget_cart/6",
    "price_gross": "11.9800",
    "product": "/v1/facility/the-fish/menu_widget_product/13",
    "product_modifiers": ["/v1/facility/the-fish/product_modifiers/35"],
    "product_variation": "/v1/facility/the-fish/product_variations/38",
    "quantity": 2,
    "resource_uri": "/v1/facility/the-fish/menu_widget_cart_item/3",
    "title": "Cesar Salad",
    "updated": "2020-08-03T12:49:14Z"
}
Type
any


Create Menu Widget Order

POST: /facility/{facility_id}/menu_widget_cart_order

Creates the actual order for a cart. There are various constraints in order for an order to be accepted. Check the response of menu_widget. E.g. the validation of the fulfillment_time is influenced by the delivery_lead_time / pickup_lead_time / delivery_days_in_advance / pickup_days_in_advance E.g. the validation of the payment_type is influenced by allow_cash / allow_credit_card / allow_paypal / qr_allow_cash / qr_allow_credit_card / qr_allow_paypal / force_prepayment_order_value / qr_force_prepayment_order_value The payment_type can either be OUTSTANDING (for cash payment) / PAYPAL (for PayPal, requires token to be passed along) / CCARD for (Stripe credit card, requires token to be passed along) / SEPA-DD for (Stripe SEPA direct debit, requires token to be passed along)


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

MENU-CART-UUID

The UUID of the cart. This UUID is returned upon creation of a cart and acts as authentication for all cart modifications.

PropertyValue
requiredtrue
typestring
examplesbc9c29e5-6137-45b5-b900-8be8812a82ba

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

201


Create Menu Widget Order

CURL EXAMPLE

curl -X POST "https://api.resmio.com/v1/facility/{facility_id}/menu_widget_cart_order" \
	-H "MENU-CART-UUID: bc9c29e5-6137-45b5-b900-8be8812a82ba" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

MENU-CART-UUID: bc9c29e5-6137-45b5-b900-8be8812a82ba
Content-Type: application/json

REQUEST BODY

{
    "address1": "Teststreet 23",
    "address2": "Second floor",
    "zip_code": "123456",
    "city": "Testcity",
    "name": "John Doe",
    "email": "john.doe@example.com",
    "phone": "+4916000000000",
    "notes": "",
    "token": "",
    "owner_name": "",
    "owner_email": "",
    "fulfillment_time": "2020-08-03T16:00:00+02:00",
    "product_cart": "/v1/facility/the-fish/menu_widget_cart/6",
    "payment_type": "OUTSTANDING",
    "source": "10.10.10.143",
    "fulfillment_day": "2020-08-03"
}
Type
any

RESPONSE BODY

201

{
    "address1": "Teststreet 23",
    "address2": "Second floor",
    "city": "Testcity",
    "comment": "",
    "company": "",
    "country": "",
    "created": "2020-08-03T12:53:00Z",
    "currency": "EUR",
    "email": "john.doe@example.com",
    "facility": "/v1/facility/the-fish",
    "fulfillment_day": "2020-08-03",
    "fulfillment_time": "2020-08-03T14:00:00Z",
    "id": 6,
    "is_active": true,
    "item_quantity": 2,
    "name": "John Doe",
    "notes": "",
    "owner_email": "",
    "owner_name": "",
    "payment_type": "OUTSTANDING",
    "phone": "+4916000000000",
    "pickup_lead_time": 6,
    "price_gross": "11.98",
    "product_cart": "/v1/facility/the-fish/menu_widget_cart/6",
    "ref_num": "ho9c5w",
    "resource_uri": "/v1/facility/the-fish/menu_widget_order/6",
    "source": "10.10.10.143",
    "status": "new",
    "task_ids": "",
    "token": "",
    "type": "delivery",
    "updated": "2020-08-03T12:53:00Z",
    "uuid": "ce02232a-b556-49c7-9371-6a15c2a479a2",
    "zip_code": "123456"
}
Type
any


Menu Widget Product

GET: /facility/{facility_id}/menu_widget_product/{product_id}

Get the details for a specific product specified by product_id with all variations, allergens and modifiers.


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

product_id

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Query Parameters

offset

Skip over a number of elements by specifying an offset value for the query

PropertyValue
requiredfalse
typeinteger
examples20

limit

Limit the number of elements on the response

PropertyValue
requiredfalse
typeinteger
examples80

Possible Responses

200


Menu Widget Product

CURL EXAMPLE

curl -X GET "https://api.resmio.com/v1/facility/{facility_id}/menu_widget_product/{product_id}?offset=20&limit=80" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Content-Type: application/json

RESPONSE BODY

200

{
    "created": "2020-08-03T08:41:53.351387",
    "description": "Nice cesar salad\nNot for Brutus!",
    "facility": "/v1/facility/the-fish",
    "id": 13,
    "image": "",
    "menu": "/v1/facility/the-fish/menus/2",
    "menu_category": "/v1/facility/the-fish/menu_categories/9",
    "online_order_enabled": true,
    "price_gross": "3.99",
    "product_allergens": [{
            "created": "2020-08-03T08:41:53.248501",
            "facility": "/v1/facility/the-fish",
            "id": 7,
            "products": ["/v1/facility/the-fish/products/13"],
            "resource_uri": "/v1/facility/the-fish/product_allergens/7",
            "title": "Cereals containing gluten",
            "updated": "2020-08-03T12:19:37.564397"
        }
    ],
    "product_identifier": "1",
    "product_modifier_groups": [{
            "created": "2020-08-03T08:41:53.337791",
            "facility": "/v1/facility/the-fish",
            "id": 5,
            "maximum_quantity": 1,
            "menu": "/v1/facility/the-fish/menus/2",
            "minimum_quantity": 1,
            "resource_uri": "/v1/facility/the-fish/product_modifier_groups/5",
            "title": "Salad Dressings",
            "title_public": "Dressings",
            "updated": "2020-08-03T08:41:53.337817"
        }
    ],
    "product_modifiers": [{
            "created": "2020-08-03T08:41:53.354494",
            "facility": "/v1/facility/the-fish",
            "id": 34,
            "maximum_quantity": 1,
            "menu": "/v1/facility/the-fish/menus/2",
            "minimum_quantity": 0,
            "price_gross": "0.00",
            "priority": 1.0,
            "product": "/v1/facility/the-fish/products/13",
            "product_modifier_group": "/v1/facility/the-fish/product_modifier_groups/5",
            "resource_uri": "/v1/facility/the-fish/product_modifiers/34",
            "title": "Vinegar and oil",
            "updated": "2020-08-03T08:41:53.354520"
        }, {
            "created": "2020-08-03T08:41:53.357885",
            "facility": "/v1/facility/the-fish",
            "id": 35,
            "maximum_quantity": 1,
            "menu": "/v1/facility/the-fish/menus/2",
            "minimum_quantity": 0,
            "price_gross": "0.00",
            "priority": 2.0,
            "product": "/v1/facility/the-fish/products/13",
            "product_modifier_group": "/v1/facility/the-fish/product_modifier_groups/5",
            "resource_uri": "/v1/facility/the-fish/product_modifiers/35",
            "title": "Yoghurt",
            "updated": "2020-08-03T08:41:53.357912"
        }, {
            "created": "2020-08-03T08:41:53.361205",
            "facility": "/v1/facility/the-fish",
            "id": 36,
            "maximum_quantity": 1,
            "menu": "/v1/facility/the-fish/menus/2",
            "minimum_quantity": 0,
            "price_gross": "0.00",
            "priority": 3.0,
            "product": "/v1/facility/the-fish/products/13",
            "product_modifier_group": "/v1/facility/the-fish/product_modifier_groups/5",
            "resource_uri": "/v1/facility/the-fish/product_modifiers/36",
            "title": "Balsamico",
            "updated": "2020-08-03T08:41:53.361231"
        }
    ],
    "product_variations": [{
            "created": "2020-08-03T08:41:53.367070",
            "facility": "/v1/facility/the-fish",
            "id": 38,
            "menu": "/v1/facility/the-fish/menus/2",
            "modifier_price_multiplicator": "2.00",
            "price_gross": "5.99",
            "priority": 10.3,
            "product": "/v1/facility/the-fish/products/13",
            "resource_uri": "/v1/facility/the-fish/product_variations/38",
            "title": "Medium",
            "updated": "2020-08-03T12:18:25.364456"
        }, {
            "created": "2020-08-03T08:41:53.369598",
            "facility": "/v1/facility/the-fish",
            "id": 39,
            "menu": "/v1/facility/the-fish/menus/2",
            "modifier_price_multiplicator": "4.00",
            "price_gross": "7.99",
            "priority": 100.0,
            "product": "/v1/facility/the-fish/products/13",
            "resource_uri": "/v1/facility/the-fish/product_variations/39",
            "title": "Large",
            "updated": "2020-08-03T12:18:25.630464"
        }, {
            "created": "2020-08-03T08:41:53.363895",
            "facility": "/v1/facility/the-fish",
            "id": 37,
            "menu": "/v1/facility/the-fish/menus/2",
            "modifier_price_multiplicator": "1.00",
            "price_gross": "3.99",
            "priority": 5.0,
            "product": "/v1/facility/the-fish/products/13",
            "resource_uri": "/v1/facility/the-fish/product_variations/37",
            "title": "Small",
            "updated": "2020-08-03T12:18:25.150822"
        }
    ],
    "resource_uri": "/v1/facility/the-fish/menu_widget_product/13",
    "title": "Cesar Salad",
    "updated": "2020-08-03T12:19:37.393787"
}
Type
any


Create Booking

POST: /facility/{facility_id}/bookings

Creates a new booking in a facility.

Transactional emails will be sent in the language specified using the Accept-Language HTTP header. If none of the specified languages are available, the default language, set in the restaurant settings, will be used.


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

201


Create Booking

CURL EXAMPLE

curl -X POST "https://api.resmio.com/v1/facility/{facility_id}/bookings" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Content-Type: application/json

REQUEST BODY

{
  "num": 2,
  "date": "2019-08-29T23:00:00.000Z",
  "facility_resources": [],
  "name": "Test Name",
  "email": "test@example.com",
  "phone": "016097230000",
  "comment": "Some example message for the restaurant owner",
  "price_change": 0,
  "checksum": "35d3a6247bc42942222f7d26820a432ee4923a9c27e6ba7810f7169779ecf591",
  "source": "",
  "fb_access_token": null,
  "newsletter_subscribe": false,
  "resource_group": "",
  "resmio_newsletter_subscribe": false,
  "booking_deposit": null
}
Type
any

RESPONSE BODY

201

{
  "alias": null,
  "booking_deposit": null,
  "booking_request_parameters": {},
  "booking_timespan": 30,
  "checksum": "35d3a6247bc42942222f7d26820a432ee4923a9c27e6ba7810f7169779ecf591",
  "comment": "Some example message for the restaurant owner",
  "created": "2019-08-29T07:52:11Z",
  "customer": "/v1/facility/the-fish/customer/3342663",
  "customer_bookings": 8,
  "customer_cancellations": 2,
  "customer_noshows": 0,
  "customer_notes": "",
  "customer_tags": [],
  "date": "2019-08-29T23:00:00Z",
  "email": "test@example.com",
  "email_confirmation_status": null,
  "email_verified": false,
  "facility": "/v1/facility/the-fish",
  "facility_resources": [
    "/v1/facility/the-fish/resources/75027"
  ],
  "fb_access_token": "",
  "files": [],
  "id": 5348950,
  "last_multi_booking": null,
  "multi_booking": null,
  "name": "Test Name",
  "newsletter_subscribe": false,
  "notes": "",
  "num": 2,
  "phone": "016097230000",
  "price_change": 0,
  "ref_num": "64c",
  "resmio_newsletter_subscribe": false,
  "resource_group": "",
  "resource_uri": "/v1/facility/the-fish/bookings/5348950",
  "source": "",
  "status": "confirmed",
  "status_code": "11cebf21-ba8e-4ea3-9fe2-31d020d30c0a",
  "user_cancel_authentication_code": "6dea63df-2051-4cca-81e3-4fc3b0b7a67d",
  "tags": [],
  "updated": "2019-08-29T07:52:11Z",
  "user": null,
  "walk_in": false
}
Type
any


Read Public Feedback

GET: /facility/{facility_id}/feedback

Get a list of feedbacks and public comments for a facility with a total count of all available feedbacks. This is only available when enabled by the facility. Add parameter offset to skip a number of feedbacks. Add parameter limit to show more or less then the default number of feedbacks.


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Query Parameters

offset

Skip over a number of elements by specifying an offset value for the query

PropertyValue
requiredfalse
typeinteger
examples20

limit

Limit the number of elements on the response

PropertyValue
requiredfalse
typeinteger
examples80

Possible Responses

200


Read Public Feedback

CURL EXAMPLE

curl -X GET "https://api.resmio.com/v1/facility/{facility_id}/feedback?offset=20&limit=80" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Content-Type: application/json

RESPONSE BODY

200

{
  "meta": {
    "limit": 20,
    "next": null,
    "offset": 0,
    "previous": null,
    "total_count": 2
  },
  "objects": [
    {
      "created": "2019-06-28T15:31:21Z",
      "food_positive": true,
      "id": 640056,
      "public_comment": "It was super, Thank you!",
      "service_positive": true
    },
    {
      "created": "2014-05-12T07:17:10Z",
      "food_positive": false,
      "id": 2004,
      "public_comment": "I think they are selling instant meals.",
      "service_positive": false
    }
  ]
}
Type
any


Read Tickets

GET: /facility/{facility_id}/tickets

Get tickets for a facility.


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Query Parameters

type

Get tickets specified type (coupon, event).

PropertyValue
requiredfalse
typestring
examplesevent

is_active

Get only active/deactive tickets.

PropertyValue
requiredfalse
typeboolean
examplestrue

offset

Skip over a number of elements by specifying an offset value for the query

PropertyValue
requiredfalse
typeinteger
examples20

limit

Limit the number of elements on the response

PropertyValue
requiredfalse
typeinteger
examples80

Possible Responses

200


Read Tickets

CURL EXAMPLE

curl -X GET "https://api.resmio.com/v1/facility/{facility_id}/tickets?type=event&is_active=true&offset=20&limit=80" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Content-Type: application/json

RESPONSE BODY

200

{
  "meta": {
    "limit": 20,
    "next": null,
    "offset": 0,
    "previous": null,
    "total_count": 4
  },
  "objects": [
    {
      "amount_paid": 0,
      "available": 10,
      "begins": "2013-11-29T16:00:00Z",
      "capacity": 10,
      "conditions": "",
      "created": "2013-11-28T09:38:27Z",
      "currency": "EUR",
      "description": "",
      "duration": null,
      "ends": null,
      "facility": "/v1/facility/the-fish",
      "id": 49,
      "image": null,
      "is_active": false,
      "max_party_size": null,
      "max_purchases": null,
      "min_party_size": null,
      "name": "Silvester",
      "price": "10.00",
      "public_page_url": "https://app.resmio.com/t/1d",
      "resource_uri": "/v1/facility/the-fish/tickets/49",
      "status": "active",
      "tickets_claimed": 0,
      "tickets_sold": 0,
      "type": "event",
      "updated": "2014-03-12T15:47:07Z"
    },
    {
      "amount_paid": 0,
      "available": 10,
      "begins": "2013-11-29T16:00:00Z",
      "capacity": 10,
      "conditions": "",
      "created": "2013-11-28T09:55:20Z",
      "currency": "EUR",
      "description": "",
      "duration": null,
      "ends": null,
      "facility": "/v1/facility/the-fish",
      "id": 50,
      "image": null,
      "is_active": false,
      "max_party_size": null,
      "max_purchases": null,
      "min_party_size": null,
      "name": "Silvester",
      "price": "10.00",
      "public_page_url": "https://app.resmio.com/t/1e",
      "resource_uri": "/v1/facility/the-fish/tickets/50",
      "status": "active",
      "tickets_claimed": 0,
      "tickets_sold": 0,
      "type": "event",
      "updated": "2014-03-12T15:47:14Z"
    },
    {
      "amount_paid": 0,
      "available": 50,
      "begins": "2013-12-03T16:15:00Z",
      "capacity": 50,
      "conditions": "",
      "created": "2013-12-02T10:37:48Z",
      "currency": "EUR",
      "description": "Test",
      "duration": null,
      "ends": null,
      "facility": "/v1/facility/the-fish",
      "id": 51,
      "image": null,
      "is_active": false,
      "max_party_size": null,
      "max_purchases": null,
      "min_party_size": null,
      "name": "Test",
      "price": "40.00",
      "public_page_url": "https://app.resmio.com/t/1f",
      "resource_uri": "/v1/facility/the-fish/tickets/51",
      "status": "active",
      "tickets_claimed": 0,
      "tickets_sold": 0,
      "type": "event",
      "updated": "2014-03-12T15:47:27Z"
    }
  ]
}
Type
any


Create Booking Deposit

POST: /facility/{facility_id}/booking_deposit

Creates a new booking deposit for a facility.


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

201


Create Booking Deposit

CURL EXAMPLE

curl -X POST "https://api.resmio.com/v1/facility/{facility_id}/booking_deposit" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Content-Type: application/json

REQUEST BODY

{
  "owner_name": "some name",
  "owner_email": "some_email@test.com",
  "amount": 30.25,
  "currency":  "EUR"
}
Type
any

RESPONSE BODY

201

{
  "amount": 30.25,
  "booking_description": null,
  "cancel_allowed_without_fees": false,
  "converted_amount": null,
  "currency": "EUR",
  "deposit_data": {},
  "deposit_email_date": null,
  "deposit_status": "",
  "email_date": null,
  "employee_name": null,
  "employee_resource_uri": null,
  "facility": "/v1/facility/the-fish",
  "id": 2,
  "obfuscated_payment_details": null,
  "owner_email": "some_email@test.com",
  "owner_name": "some name",
  "payment_type": "OUTSTANDING",
  "refund_amount": 0.0,
  "resource_uri": "/v1/facility/the-fish/booking_deposit/2"
}
Type
any


Create Waitlist Entry

POST: /facility/{facility_id}/waitlist

Creates a new entry on the waitlist


URI Parameters

facility_id

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

201


Create Waitlist Entry

CURL EXAMPLE

curl -X POST "https://api.resmio.com/v1/facility/{facility_id}/waitlist" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Content-Type: application/json

REQUEST BODY

{
    "date": "2020-07-13T09:00:00Z",
    "name": "Test test",
    "num": 2,
    "email": "test@example.com",
    "phone": "016097230000",
    "is_online": true
}
Type
any

RESPONSE BODY

201

{
    "created": "2020-07-13T08:09:38Z",
    "date": "2020-07-13T09:00:00Z",
    "email": "test@example.com",
    "facility": "/v1/facility/the-fish",
    "id": 3,
    "is_online": true,
    "is_walkin": false,
    "name": "Test test",
    "num": 2,
    "phone": "016097230000",
    "resource_uri": "/v1/facility/the-fish/waitlist/3"
}
Type
any

Waiter booking status update API

This API endpoint is authenticated with the {restaurant_authentication_code} as part of the URL. Waiters or restaurant owners are using it to confirm or cancel a booking.


Read booking status

GET: /booking_status/{restaurant_authentication_code}

Allows restaurant staff to access the booking status of a booking and its reference number with restaurant_authentication_code as authentication. The endpoint will return the current status of the booking and the potential status choices that one can use in a PATCH request to update the status of the booking. (E.g. confirm or cancel the booking)

If the booking is "unconfirmed" then available choises for changing the status are "confirmed" and "cancelled". If the bookig has different status than "unconfirmed" then the list of potential choices will be empty.


URI Parameters

restaurant_authentication_code

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

200


Read booking status

CURL EXAMPLE

curl -X GET "https://api.resmio.com/v1/booking_status/{restaurant_authentication_code}" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Content-Type: application/json

RESPONSE BODY

200

{
  "ref_num": "hQlFpm",
  "resource_uri": "/v1/booking_status/e6a8482f-7665-4672-87e1-aa1fe3ddc2be",
  "restaurant_authentication_code": "e6a8482f-7665-4672-87e1-aa1fe3ddc2be",
  "status": "unconfirmed",
  "status_choices": [
    {
      "localized_label": "BestÃĪtigt",
      "value": "confirmed"
    },
    {
      "localized_label": "Abgesagt",
      "value": "cancelled"
    }
  ]
}
Type
any

Update booking status

PATCH: /booking_status/{restaurant_authentication_code}

Allows someone with the restaurant_authentication_code to change the booking status. If the booking status is "unconfirmed" then the status can be changed to "confirmed" or "cancelled". If the booking statis is different that "unconfirmed" then the status can not be changed with this API endpoint.


URI Parameters

restaurant_authentication_code

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

202


Update booking status

CURL EXAMPLE

curl -X PATCH "https://api.resmio.com/v1/booking_status/{restaurant_authentication_code}" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Content-Type: application/json

REQUEST BODY

{
  "chosen_status": "confirmed"
}
Type
any

RESPONSE BODY

202

{
  "chosen_status": "confirmed",
  "ref_num": "hQlFpm",
  "resource_uri": "/v1/booking_status/e6a8482f-7665-4672-87e1-aa1fe3ddc2be",
  "restaurant_authentication_code": "e6a8482f-7665-4672-87e1-aa1fe3ddc2be",
  "status": "confirmed",
  "status_choices": []
}
Type
any

Guest booking canel API

This API endpoint is authenticated with the {user_cancel_authentication_code} as part of the URL. Users will use this API endpoint if they want to cancel a booking. The {user_cancel_authentication_code} secret has been returned initially when the booking was created.


Read booking status

GET: /booking_cancel/{user_cancel_authentication_code}

Allows a user to get the current booking status and of a booking with the user_cancel_authentication_code as authentication.


URI Parameters

user_cancel_authentication_code

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

200


Read booking status

CURL EXAMPLE

curl -X GET "https://api.resmio.com/v1/booking_cancel/{user_cancel_authentication_code}" \
	-H "Content-Type: application/json"

REQUEST HEADERS

Content-Type: application/json

RESPONSE BODY

200

{
  "detail_url": "https://app.resmio.com/a0ae9a52-875f-4590-b919-55bea475659a/detail",
  "facility_name": "the-fish",
  "resource_uri": "/v1/booking_cancel/a0ae9a52-875f-4590-b919-55bea475659a",
  "status": "unconfirmed",
  "user_cancel_authentication_code": "a0ae9a52-875f-4590-b919-55bea475659a"
}
Type
any

Cancel booking

PATCH: /booking_cancel/{user_cancel_authentication_code}

Allows a user to cancel a booking with the user_cancel_authentication_code as authentication.


URI Parameters

user_cancel_authentication_code

PropertyValue
requiredtrue
typestring

Header Parameters

Content-Type

The content type of the request. The API currently only understands application/json

PropertyValue
requiredtrue
typestring
examplesapplication/json

Possible Responses

202


Cancel booking

CURL EXAMPLE

curl -X PATCH "https://api.resmio.com/v1/booking_cancel/{user_cancel_authentication_code}" \
	-H "Content-Type: application/json" \
	-d @request_body

REQUEST HEADERS

Content-Type: application/json

REQUEST BODY

{}
Type
any

RESPONSE BODY

202

{
  "detail_url": "https://app.resmio.com/a0ae9a52-875f-4590-b919-55bea475659a/detail",
  "facility_name": "the-fish",
  "resource_uri": "/v1/booking_cancel/a0ae9a52-875f-4590-b919-55bea475659a",
  "status": "cancelled",
  "user_cancel_authentication_code": "a0ae9a52-875f-4590-b919-55bea475659a"
}
Type
any