1. Whip up a simple GUI with all the fields you need (Name, email, phone, etc) 2. Use a Hashtable as the main data structure with KEY: unique number (ticket number), VALUE: "Call" object with a field for each piece of info. Call class defined as follows: public class Call { String name String email String phone String problem String tech // this could also be a tech or group id, so it could be an integer boolean resolved } as far as the unique key (ticket number), you could either use a date/time stamp, or you could simply have a counter that starts at 0 and is incremented each time a ticket is entered. If you use the counter, you should probably add the date/time stamp to the Call class. Here's an example if you chose to use the date/time as the unique ticket#: String callNumber = "CallNumber" + String.valueOf((new java.util.Date()).getTime()); // <--- 13-digit millisec timestamp You could also put the date/time the problem was resolved as a field in the Call class.