Open a ticket in behalf of a user?

I'd like to be able to open a ticket in behalf of a user. Is this possible? I'm willing to do some coding if someone can point me in the right direction.