I’m writing a specification for a PHP application that will assist booking appointments with clients. The client data currently is in Kontact. Am I better off having the program interface with the vcf data directly, or should this data get converted into a MySQL database? Also, I created a custom field for client ID in Kontact, and this field does not appear in the vcf data. Any ideas are welcome. Thanks.
I think that would depend on the number of contacts you expect to be in use for your booking application, and what you want to do with them.
AFAIK vCards are all about sharing contact information, (like we would normally do with a physical business card) which is not really an objective of your application (is it?).
So my gut feeling is, yes, the data needs to be in a database, and if required write some code (or find a php function/library) to write the contact out in vcf format only when needed (to send the contact to someone else).
If a database (like MySQL) is an option - always chose that one. Organizing data in the filesystem is much less reliable (and most of the time also much slower).