Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Nathan 67 posts 146 karma points
    Sep 23, 2014 @ 12:18
    Nathan
    0

    Creating a Booking System

    Hi,

    Can somebody point me in the right direction on creating a booking system (specifically for flights + hotels). How can we create this so we can manage client's bookings from Back End (like cancel booking, booking options etc) from a custom module in sidebar, or similar, with custom UI?

    Are there any tutorials or pulgins available?

    Can we get some examples?

    Thanks!

  • Garðar Þorsteinsson 113 posts 534 karma points
    Sep 23, 2014 @ 12:44
    Garðar Þorsteinsson
    0

    Hi Dan, 

     

    I'm sorry but I dont think there are any easy solutions on what you are asking.

    You are talking about specific applications that needs allot of work, there are does not exist any packages that solves this.

    Every booking system is custom build, you could use Umbraco as a framework around it but that is not something I would recommand.

     

    Best regards.

    Garðar

     

  • Steve Morgan 1346 posts 4453 karma points c-trib
    Sep 23, 2014 @ 12:55
    Steve Morgan
    0

    As Garðar says nothing out of the box but you can certainly build a custom section in Umbraco and then wire up buttons in Angular pages to an API... obviously this is a bespoke development but perfectly do-able. 

    Follow Tim Geyssens excellent post about creating custom sections (his is using a tree for "people content") yours would / might be bookings. http://www.nibble.be/?p=440

    The official documentation http://our.umbraco.org/documentation/Extending-Umbraco/  is not quite complete in this area but is a good resource.

    FInally - have a look at my sample controller below to see how to wire up different menu items (how you might wish to perform the actions like cancel, book etc).  I suspect you'd be better off with a dummy parent node and not listing each booking as a child node and instead rendering each booking out as a table row with links / buttons for these actions in the right hand pane though?!

    usingSystem;
    usingSystem.Collections.Generic;
    usingSystem.Linq;
    usingSystem.Net.Http.Formatting;
    usingSystem.Web;

    usingUmbraco.Core;
    usingUmbraco.Web.Models.Trees;
    usingUmbraco.Web.Mvc;
    usingUmbraco.Web.Trees;


    /// <summary>
    /// Summary description for CustomSectionTreeController
    /// </summary>

    [Tree("CustomSection","CustomSectionTree","My Custom Section")]
    [PluginController("CustomSection")]
    publicclassCustomSectionTreeController:TreeController
    {
       
    protectedoverrideTreeNodeCollectionGetTreeNodes(string id,FormDataCollection queryStrings)
       
    {
           
    // check if we're rendering the root node's children
           
    if(id ==Constants.System.Root.ToInvariantString())
           
    {
               
    // add nodes to tree
               
    var tree =newTreeNodeCollection
               
    {
                   
    // routepath HAS to be /appsection/treealias/htmlview/ID
                   
    CreateTreeNode("1","-1", queryStrings,"View Quotes","icon-dollar-bag","/CustomSection/CustomSectionTree/quotes/-1"),
                   
    CreateTreeNode("2","-1", queryStrings,"View Sales Leads","icon-handshake",  "/CustomSection/CustomSectionTree/salesleads/-1"),
                   
    CreateTreeNode("3","-1", queryStrings,"View Applications","icon-mailbox","/CustomSection/CustomSectionTree/applications/-1"),
                   
    CreateTreeNode("4","-1", queryStrings,"View Complaints","icon-iphone","/CustomSection/CustomSectionTree/complaints/-1")
               
    };

               
    return tree;
           
    }
           
    // this tree doesn't support rendering more than 1 level
             
    thrownewNotSupportedException();
       
    }


       
    protectedoverrideMenuItemCollectionGetMenuForNode(string id,FormDataCollection queryStrings)
       
    {
           
    // create Custom Section menu items e.g. "Delete Quotes"
           
    var menu =newMenuItemCollection();

           
    var m =newMenuItem();

           
    switch(id)
           
    {
               
    case"1":
                    m
    .Alias="deletequotes";
                    m
    .Name="Delete Quotes";
                    m
    .Icon="settings-alt";
                   
    break;
               
    case"2":
                    m
    .Alias="deletesalesleads";
                    m
    .Name="Delete Sales Leads";
                    m
    .Icon="settings-alt";
                   
    break;
               
    case"3":
                    m
    .Alias="deleteapplications";
                    m
    .Name="Delete Applications";
                    m
    .Icon="settings-alt";
                   
    break;
               
    case"4":
                    m
    .Alias="deletecomplaints";
                    m
    .Name="Delete Complaints";
                    m
    .Icon="settings-alt";
                   
    break;
           
    }

            menu
    .Items.Add(m);

           
    return menu;
       
    }
    }
Please Sign in or register to post replies

Write your reply to:

Draft