POST Reservation/CreateReservation/{SiteID}

Endpoint for Creating or Updating a Reservation in the Tevalis EPOS system

Request Information

URI Parameters

Name Type Description Additional information
SiteID integer

Body Parameters

SaveReservationApiModel
Name Type Description Additional information
ReservationID string

The Reservation ID, if the ID already exists on the POS this will act as an Update to that Reservation

Required

State TableStatusEnum

Current Status of the Table.
The following Must be supported:
Null = Booked.
Open the Table / Seated = TableOpened
Finalized / TableClosed = Cleaned

TableNumber Collection of integer

Reservations can support multiple tables for a booking, e.g. booking for 10 guests, tables can seat max size 4, can send the reservation to book 3 tables.

Required

Origin string

Free text to show Integration Name in the POS

Required

ScheduledTimeUtc date

Arrival Time

Required

CreatedDateUtc date

Date booking was Created

Required

Duration integer

Optional - Shows in the booking list, populates table time - Minutes from the arrival time e.g. arrive at 1pm, duration 1hr finishes at 2pm

BookingReference string

Optional - Third party Reference for Guests to use

BookingType string

Optional - Shows in the booking list as free text e.g. Restaurant, Bar

Covers integer

Cover Count, e.g. how many guests

GuestNotes string

Optional - Free text - shown on booking details

RestaurantNotes string

Optional - Free text - shown on booking details

Cancelled boolean

Optional - Whether the reservation has been cancelled

RestaurantID string

Optional - If using a Multi-Restaurant to One Site setup, then this will be the Restaurant ID

Guest ReservationGuestApiModel

Required

SubmitCalculatedOnlineOrderV2ApiModel SubmitCalculatedOnlineOrderV2ApiModel

Optional - If you want to include Pre-Orders against the bill when it is seated. Status must be Booked/Seated. For more information please see the Online Orders V2 Guide

PrePayments Collection of ReservationPrePaymentApiModel

Optional - If you want to include any Pre-Payments/Deposits against the bill when it is seated. Status must be Booked/Seated.

Request Formats

application/json, text/json

Sample:
{
  "ReservationID": "sample string 1",
  "State": 0,
  "TableNumber": [
    1,
    2
  ],
  "Origin": "sample string 2",
  "ScheduledTimeUtc": "2024-11-21T06:37:27.0126077+00:00",
  "CreatedDateUtc": "2024-11-21T06:37:27.0126077+00:00",
  "Duration": 1,
  "BookingReference": "sample string 5",
  "BookingType": "sample string 6",
  "Covers": 7,
  "GuestNotes": "sample string 8",
  "RestaurantNotes": "sample string 9",
  "Cancelled": true,
  "RestaurantID": "sample string 11",
  "Guest": {
    "GuestID": "sample string 1",
    "CustomerName": "sample string 2",
    "PhoneNo": "sample string 3",
    "Email": "sample string 4"
  },
  "SubmitCalculatedOnlineOrderV2ApiModel": {
    "SiteId": 1,
    "UID": "7a350747-c10c-4701-adf7-a27fd76e4747",
    "CRMMemberID": "sample string 1",
    "RequestedDeliveryTimeUTC": "2024-11-21T06:37:27.0126077+00:00",
    "GratuityAmount": 1.0,
    "DeliveryChargeAmount": 1.0,
    "ThirdPartyOrigin": "sample string 2",
    "ThirdPartyTransactionID": "sample string 3",
    "ThirdPartyReference": "sample string 4",
    "OrderParams": "sample string 5",
    "MergeOnToExistingBill": true,
    "CustomerInfo": {
      "FirstName": "sample string 1",
      "LastName": "sample string 2",
      "Line1": "sample string 3",
      "Line2": "sample string 4",
      "City": "sample string 5",
      "PostCode": "sample string 6",
      "ContactNumber": "sample string 7",
      "ContactAccessCode": "sample string 8",
      "AdditionalDetails": {
        "SaftCompanyName": "sample string 1",
        "SaftCompanyAddress": "sample string 2",
        "SaftTaxId": "sample string 3"
      }
    },
    "Tenders": [
      {
        "TenderTypeID": 1,
        "PLU": "sample string 2",
        "Amount": 1.0
      },
      {
        "TenderTypeID": 1,
        "PLU": "sample string 2",
        "Amount": 1.0
      }
    ]
  },
  "PrePayments": [
    {
      "TenderTypeID": 1,
      "Amount": 1.0
    },
    {
      "TenderTypeID": 1,
      "Amount": 1.0
    }
  ]
}

application/xml, text/xml

Sample:
<SaveReservationApiModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Tevalis.API.Core.Models.Reservation.Commands">
  <BookingReference>sample string 5</BookingReference>
  <BookingType>sample string 6</BookingType>
  <Cancelled>true</Cancelled>
  <Covers>7</Covers>
  <CreatedDateUtc>2024-11-21T06:37:27.0126077+00:00</CreatedDateUtc>
  <Duration>1</Duration>
  <Guest>
    <CustomerName>sample string 2</CustomerName>
    <Email>sample string 4</Email>
    <GuestID>sample string 1</GuestID>
    <PhoneNo>sample string 3</PhoneNo>
  </Guest>
  <GuestNotes>sample string 8</GuestNotes>
  <Origin>sample string 2</Origin>
  <PrePayments>
    <ReservationPrePaymentApiModel>
      <Amount>1</Amount>
      <TenderTypeID>1</TenderTypeID>
    </ReservationPrePaymentApiModel>
    <ReservationPrePaymentApiModel>
      <Amount>1</Amount>
      <TenderTypeID>1</TenderTypeID>
    </ReservationPrePaymentApiModel>
  </PrePayments>
  <ReservationID>sample string 1</ReservationID>
  <RestaurantID>sample string 11</RestaurantID>
  <RestaurantNotes>sample string 9</RestaurantNotes>
  <ScheduledTimeUtc>2024-11-21T06:37:27.0126077+00:00</ScheduledTimeUtc>
  <State>TableEmpty</State>
  <SubmitCalculatedOnlineOrderV2ApiModel xmlns:d2p1="http://schemas.datacontract.org/2004/07/Tevalis.API.Core.Models.v2.OnlineOrdersV2.APIModels">
    <d2p1:CRMMemberID>sample string 1</d2p1:CRMMemberID>
    <d2p1:CustomerInfo>
      <d2p1:AdditionalDetails>
        <d2p1:SaftCompanyAddress>sample string 2</d2p1:SaftCompanyAddress>
        <d2p1:SaftCompanyName>sample string 1</d2p1:SaftCompanyName>
        <d2p1:SaftTaxId>sample string 3</d2p1:SaftTaxId>
      </d2p1:AdditionalDetails>
      <d2p1:City>sample string 5</d2p1:City>
      <d2p1:ContactAccessCode>sample string 8</d2p1:ContactAccessCode>
      <d2p1:ContactNumber>sample string 7</d2p1:ContactNumber>
      <d2p1:FirstName>sample string 1</d2p1:FirstName>
      <d2p1:LastName>sample string 2</d2p1:LastName>
      <d2p1:Line1>sample string 3</d2p1:Line1>
      <d2p1:Line2>sample string 4</d2p1:Line2>
      <d2p1:PostCode>sample string 6</d2p1:PostCode>
    </d2p1:CustomerInfo>
    <d2p1:DeliveryChargeAmount>1</d2p1:DeliveryChargeAmount>
    <d2p1:GratuityAmount>1</d2p1:GratuityAmount>
    <d2p1:MergeOnToExistingBill>true</d2p1:MergeOnToExistingBill>
    <d2p1:OrderParams>sample string 5</d2p1:OrderParams>
    <d2p1:RequestedDeliveryTimeUTC>2024-11-21T06:37:27.0126077+00:00</d2p1:RequestedDeliveryTimeUTC>
    <d2p1:SiteId>1</d2p1:SiteId>
    <d2p1:Tenders>
      <d2p1:SubmitCalculateOrderV2TenderApiModel>
        <d2p1:Amount>1</d2p1:Amount>
        <d2p1:PLU>sample string 2</d2p1:PLU>
        <d2p1:TenderTypeID>1</d2p1:TenderTypeID>
      </d2p1:SubmitCalculateOrderV2TenderApiModel>
      <d2p1:SubmitCalculateOrderV2TenderApiModel>
        <d2p1:Amount>1</d2p1:Amount>
        <d2p1:PLU>sample string 2</d2p1:PLU>
        <d2p1:TenderTypeID>1</d2p1:TenderTypeID>
      </d2p1:SubmitCalculateOrderV2TenderApiModel>
    </d2p1:Tenders>
    <d2p1:ThirdPartyOrigin>sample string 2</d2p1:ThirdPartyOrigin>
    <d2p1:ThirdPartyReference>sample string 4</d2p1:ThirdPartyReference>
    <d2p1:ThirdPartyTransactionID>sample string 3</d2p1:ThirdPartyTransactionID>
    <d2p1:UID>7a350747-c10c-4701-adf7-a27fd76e4747</d2p1:UID>
  </SubmitCalculatedOnlineOrderV2ApiModel>
  <TableNumber xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:int>1</d2p1:int>
    <d2p1:int>2</d2p1:int>
  </TableNumber>
</SaveReservationApiModel>

application/x-www-form-urlencoded

Sample:

Sample not available.

Response Information

Resource Description

Returns 200 Ok reponse if the reservation was successful

string

Response Formats

application/json, text/json

Sample:
"sample string 1"

application/xml, text/xml

Sample:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">sample string 1</string>