Vomit odour is usually caused by children and baby accidents. In most cases these can be removed by diluting bicarbonate of soda powder (baking soda) in to warm water and spraying the affected area, allowed to dwell for 10 minutes and blotted with kitchen towel.
Musty smelling carpet is usually attributed to the carpet being exposed to moisture. This can be caused by several things including flooding, a water leak or where the carpet or rug has been stored in an out building. It can also be caused by using inefficient carpet cleaning equipment whereby the carpet has been left over-wet. The odour is caused by bacteria growth. In most circumstances, especially where it is a fitted carpet, the carpet including the underlay will need replacing. It is also advisable to clean the sub floor with a solution of bleach to eradicate any bacteria.
Pet urine odour in carpets is a common problem caused by puppies, elderly dogs, cats or just untrained pets. In most cases it is impossible to remove the odour where it has penetrated into the backing and also the underlay and sub floor. Usually the only remedy is to replace the carpet and underlay and clean the sub floor with a bleach solution. There are many companies that profess to be able to remove urine odour and also many off the shelf products which make similar claims which you should be wary of. Additionally, you should be careful of applying ”off the shelf” pet stain and odour removal products to carpets without testing first in an inconspicuous area as we have seen many carpets that have been ruined by bleaching.