> For the complete documentation index, see [llms.txt](https://tutorials.openactive.io/open-booking-sdk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tutorials.openactive.io/open-booking-sdk/quick-start-guide/storebookingengine.md).

# StoreBookingEngine

## Overall Objective

This guide will help you implement StoreBookingEngine within a target development window of 8 days, creating an implementation of the [Open Booking API](https://www.openactive.io/open-booking-api/EditorsDraft/).

### Introduction

The **`StoreBookingEngine`** is essentially a number of abstract classes which can be implemented to create a fully operation Open Booking API.

![Example implementation of StoreBookingEngine](https://326569123-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lt3C3pEGd6jJmrykIy0%2F-LucDfde7BON7_KJKLAG%2F-LucE1sfRXY9AAcxioo-%2FScreenshot%202019-11-26%20at%2014.59.28.png?alt=media\&token=dd3d08d5-403a-4f9b-bfc8-5ab16594eeb4)

The [**BookingSystem.AspNetCore**](https://github.com/openactive/OpenActive.Server.NET/tree/master/Examples/BookingSystem.AspNetCore) and [**BookingSystem.AspNetFramework**](https://github.com/openactive/OpenActive.Server.NET/tree/master/Examples/BookingSystem.AspNetFramework) projects provides a good example of an implementation of **`StoreBookingEngine`** using a [**OpenActive.FakeDatabase.NET**](https://github.com/openactive/OpenActive.Server.NET/tree/master/Fakes/OpenActive.FakeDatabase.NET) - which offers a fake implementation of a booking system backend.

The following are required for a minimal implementation:

* **Feeds** -  generate the RPDE feeds
* **Stores** - methods to execute various booking operations that are executed by the **`StoreBookingEngine`**
* **IdComponents** - customisable composite IDs to represent the key entities within your system
* **EngineConfig.cs** - configuration of the **`StoreBookingEngine`**
* **Startup.cs** or **ServiceConfig.cs** - initialisation

&#x20;Additionally, the following are required to bind the **`StoreBookingEngine`** to the web framework:

* **Helpers** - convert JSON requests to string, and responses to controller return types.
* **Controllers** - call the **`StoreBookingEngine`** from the Open Booking API endpoints.
