I think you could do this by considering cases.
. . . . .Joe at the door
. . . . .Jim on the floor
This leaves ten people who can be put anywhere:
. . . . .door: <sub>10</sub>C<sub>1</sub>
This leaves nine people who can be put in either of the other locations:
. . . . .floor: <sub>9</sub>C<sub>3</sub>
This leaves six as floaters:
. . . . .floating: <sub>6</sub>C<sub>6</sub>
Multiply to get the numbers of ways to assign people, assuming Jim and Joe are assigned as decided above.
Now figure out the other cases in the same way. Add up the numbers for each case to find the total number of options.
There may be (and probably is) a neater way of doing this, so, if somebody else replies with another method, go with that instead.
Eliz.