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. |
|
| 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
{
"ReservationID": "sample string 1",
"State": 0,
"TableNumber": [
1,
2
],
"Origin": "sample string 2",
"ScheduledTimeUtc": "2025-10-24T09:52:09.7064086",
"CreatedDateUtc": "2025-10-24T09:52:09.7064086",
"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": "39df0158-2ac7-42a2-be2f-eef1711ae3e8",
"CRMMemberID": "sample string 1",
"RequestedDeliveryTimeUTC": "2025-10-24T09:52:09.7064086",
"GratuityAmount": 1.0,
"DeliveryChargeAmount": 1.0,
"ThirdPartyOrigin": "sample string 2",
"ThirdPartyTransactionID": "sample string 3",
"ThirdPartyReference": "sample string 4",
"OrderParams": "sample string 5",
"MergeOnToExistingBill": true,
"CardSurchargeAmount": 1.0,
"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
<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>2025-10-24T09:52:09.7064086</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>2025-10-24T09:52:09.7064086</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:CardSurchargeAmount>1</d2p1:CardSurchargeAmount>
<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>2025-10-24T09:52:09.7064086</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>39df0158-2ac7-42a2-be2f-eef1711ae3e8</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 not available.
Response Information
Resource Description
Returns 200 Ok reponse if the reservation was successful
stringResponse Formats
application/json, text/json
"sample string 1"
application/xml, text/xml
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">sample string 1</string>