Booking Server (REST) Skeleton for Java

You can download our skeleton REST server by cloning the repo

git clone


This is a reference implementation for API v3 Booking server based on:

  • google-protobuf
  • Jersey RESTful Web Services


Require installations of

Get Started

  1. Copy the Proto Interface into a proto file (api_v3.proto). Modify the package to match your project (com.partner.mapsbooking.v3.model).
  2. Create a web application project in your IDE named booking_server_v3, add Maven support to this project.
  3. Place your proto file under the src/main/resources, add dependencies for Jersey and protocol buffers runtime to the Maven pom.xml file:
  4. Execute the following command under src/main to auto-generate a source file for the classes defined in the proto file:

    protoc --java_out=java resources/api_v3.proto
    • If implementing waitlist functionality, also execute the following: protoc --java_out=java resources/waitlist.proto
  5. Inside of the src/main/java, create a new package matching your groupId (com.partner.mapsbooking). Retrieve the sample code from the repo:

     git clone

    place the files under your package, follow the TODOs to complete your implementation.

  6. Configure your servlet by modifying the web.xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns=""
            <servlet-name>Booking Rest Server</servlet-name>
            <servlet-name>Booking Rest Server</servlet-name>
  7. In the Run Configurations, set up a Tomcat server configuration. Add all the jars to the /WEB_INF/lib directory (project structure -> artifacts -> After selecting all jars right click and choose "Put into /WEB-INF/lib").
  8. Run Tomcat to start your server.

Final Directory Structure