CKEDITOR.plugins.add('hotels', {
    requires: 'widget',
    icons: 'hotels',

    init: function(editor) {
        editor.addContentsCss(this.path + 'styles/hotels.css');
        editor.widgets.add('hotels', {
            button: 'Add Hotels Widget',
            allowedContent: 'div(!hotels-table)',
            requiredContent: 'div(hotels-table)',

            upcast: function(element) {
                return element.name == 'div' && element.hasClass('hotels-table');
            },

            template:
                '<div class="hotels-table">' +
                    '<p>Hotels Widget</p>' +
                '</div>'
        });
    }
});
