class BookingDaoESImp extends BaseDaoESImp implements BookingDao {

    @Override
    public Booking getBooking(String bookingId) throws IOException
    {
        BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
        SearchRequest searchRequest;
        append(boolQueryBuilder, "bk_id", bookingId);
        append(boolQueryBuilder, "del", false);

        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder().query(boolQueryBuilder).size(MAX_BOOKING_READ_PER_DAY);
        searchRequest = new SearchRequest(this.bookingsIndex).source(sourceBuilder);
        ESResponse esResponse = esclient.search(searchRequest);

        List docs = (List) ((Map) (esResponse.getSourceMap().get("hits"))).get("hits");
        for (Object doc : docs)
        {
            Map mapDoc = (Map) doc;
            Booking booking = buildBooking(mapDoc);
            if (booking != null)
            {
                return booking;
            }
        }
        return null;
    }

    public  BookingDaoESImp();
    public  BookingDaoESImp(Properties properties);

}