How do I infer someone's haplotype of a gene from data on several of the gene's SNPs?
It depends on the scale of the data (i.e. number of individuals, number of SNPs). Generally this can be done by matching up individual SNP genotypes to haplotype tag SNPs. The specific combination of genotyped SNPs is used to determine the underlying haplotype, based on tag SNP frequencies for each haplotype.
More details of the process of identifying tag SNPs can be found here:
https://www.broadinstitute.org/haploview/tagger