Forget about your idea of Virtualisation, unless you want back to dumb graphics terminals, several single point of failure (server & switch) and needing fast network.
Unless the applications are all server centric SQL based. Starting point is What do they need to do (not even the applications).
99% of the time unless you need separate Windows Server Instances or separate instances on a workstation for development there is no point to virtualisation. It adds massive extra CPU and RAM overhead for 30 users. A linux server and Windows or Linux laptops makes more sense. If they "must have" a bunch of traditional Windows applications like Sage, Adobe xxxx, Act2000! etc they need windows. If it's spreadsheet, Letters, email and Internet and shared database/CMS on server, then Linux server and Linux laptops.
Virtualisation is useful for Windows servers, Test Labs and Development. Usually pointless waste of money and less reliable for anything else.
A Raspberry Pi with screen, mouse, keyboard, box, PSU etc can easily add up to the price of a cheap laptop.
Since you need screens, mouse, keyboard and something to drive them to the LAN, how does virtualisation save money?