473,396 Members | 1,892 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Programmatic Design for Dynamic Bookings Calendar

Knut Ole
Hi,

I'm basically looking for advice on the programatic design of a ArrowsCalendar I want to include in a booking system for a small hotel. (For example, how the variables should be organized, how to split up the different functions, etc - basically advice on how best to go about making it.) Thank you in advance for any advice!


ARROWS CALENDAR
***************
The center of the database application, will be the ArrowsCalendar, which will look much like the attached Capture_DrawingboardCalendar.jpg (which is a drawingboard draft, se below for details). I've organized the whole db in the following tables:
* Bookings [ContactID, RoomID, SlotID, SignedID, TypeID, StatusID]
* ContactList [(div contact infos)]
* RoomList
* Slots [INdate, INtime, OUTdate, OUTtime]
* etc...
* Then pop-up forms for reports, inputs, etc.
* Main form CALENDAR with subforms for each row/room.
* Subforms for each room, where arrows are drawn.

The idea is that for each booking made (thru a form), all the ID's and their respective "owner" tables will be updated, and the Bookings ID will contain all the info about the booking, incl. exact time-slot, status-codes of booking, etc.

With this, I'm thinking to make the mentioned ArrowsCalendar (Capture_DrawingboardCalendar.jpg).

To explain the draft-drawing a bit:
* rooms vertically, dates horisontally.
* arrows indicate status by color (eg. green = checked-in, grey = checked-out, yellow = reservation, red = due to check out today, green shaded = due to check in today, yellow shaded = reservation not confirmed.)
* arrows also indicate length of stay, incl. check-in/out time/date (by position of tail, body, head of arrow)
* so for example, @ room 103, the last guest has checked out (grey, arrow ended early morning), and the current guest has checked-in and is due to stay a week (green, head ending on date seven days ahead).
* another example, @ room 111, the last guest has checked out (grey), but the next guest has yet to check in (green shaded).

The UI functionality I'll implement is drag-and-drop, drag-and-resize, dbl-click for edit reservation, plus have some ID info (eg. guest name) appear in the body of the arrow.

The way I'm thinking to set it up, is, first of all,
since there is no arrow shape in Access, make the arrow a composite of tail + head as image, and body as colored box.(See Capture_ArrowComposite.JPG.) Then, a DrawArrow() function, which can be called upon with full list of arguments, to simply draw an arrow where it is asked, with included update of Events and RecordSource (or whatever) of arrow-objects. Then, to establish the position of the arrow, to (preferably) make a query with calculated fields to narrow down every arrow for every room row over all dates. ("Preferably," because the user will be able to scroll thru weeks into future and history in the calendar, with updated arrows, such a large and flexible dataset that it seems more functional to store the information in the database and call upon those values, rather than having to calculate it every time when changing week-view in the calendar.(?)) Then this being made to draw or refresh thru some function matching the query/table values of 'coordinates' for a given date/week with the DrawArrow() function. (Which can be added in OnLoad() or other Events in main form.)

There are also immediate subproblems, or headaches:
* When there are several bookings on same room, same day (which happens surprisingsly often), the arrows will have a 'natural' size of no more than the tail-image of which it is partly composed. This will either place the three arrow-objects (tail(image), body(access form box), head(image)) on top of each other, or somehow notice that they are overlapping and take proper measures.
* Similarily, when there are double-bookings, where arrows 'naturally' should be placed on top of each other, the functions (or query?) should notice the double-booking and create a response. So, either create a function in DrawArrow() to draw the arrows with conditions of relativity to other arrows / So, perhaps, create a function to order arrows to be drawn with conditions of relativity to other arrows? What I see, in fact, is a Function reading from coordinates calculated in queries, processing those coordinates based on relativity to each other, and order appropriate arrows to be drawn thru eg. DrawArrow().

Another issue is the number of images in each subform. Each image/arrow should be 'imported' only for the current draw, so the form wont be cluttered with visible=false arrows, or something. (Is there a way to create or copy images to a subform easily?)

I'm unsure about which approach to make in terms of how much energy they take, how realiable they are, and so forth - and would really appreciate some input towards which path to take, and some good judgements on the bigger lines of this pet grown monster project.

Hoping for some good input, thanks again!
Mar 14 '11 #1
0 1104

Sign in to post your reply or Sign up for a free account.

Similar topics

5
by: Murphy | last post by:
We are currently looking into the development of an application for booking resources and are researching the available options for recording and tracking these bookings. The possibilities we...
7
by: SharkSYA | last post by:
After canvassing ideas it appears that the way I need to do it is not possible.There are 126 rooms, more to be added, and it needs to print a report or reports showing 76 days of bookings. There...
2
by: Brian O'Gorman | last post by:
I have: a) a calendar table (tblCalendar) holding consecutive dates. b) a vacancies table (tblVacancies) holding start and end dates of vacancies c) a bookings table (tblBookings holding start...
5
by: Mal | last post by:
Hello. I have a database that tracks reservations at a campground. I want to be able to make a calendar type report that shows how many people are here in given period. Stored for each...
1
by: E.U. | last post by:
Hi, I an using MS-Access in order to build a site. I have this item that can have upto 10 pictures (might have none) I want to design a dynamic table which has the ID of the item at the first...
0
by: Jessica Weiner | last post by:
I have a web calendar application which retrieves events from a SQL database. These events are real-life events (group meetings and workshops etc). I want the ability to create an automatic 5x7...
3
by: boyleyc | last post by:
Hi I am working on a Access database and have run into a design problem. Bit of background - This is how a booking works. A booking is taken from a client and a date/time begining of booking...
3
by: keri | last post by:
Hi, I am starting from scratch with a new database to manage bookings of units. The database will store customer info, unit info, bookings, payments etc. I have scetched a basic design and am...
0
by: peterpanhk08 | last post by:
Hi All, Shrishti Informatics is a Professional Outsource Website Design & Development company based in Cochin, India. We are expertise in website design, dynamic web solutions, Multimedia and...
4
by: phill86 | last post by:
Hi, I am trying to represent on a form time slots I have re-created the look of an outlook calendar on the form I have a table with the calendar bookings start and end time and there could be any...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.