1. A method of three-dimensional geofencing performed utilizing a user-carried mobile device including a processor, at least one sensor, and a memory containing software instructions executed by the processor, the method comprising: receiving, via the user-carried mobile device, user input defining a virtual boundary in a three-dimensional geographical space, the virtual boundary including lateral position parameters and an altitude parameter; further receiving, via the user-carried mobile device, user input defining a boundary-related event and an action to be triggered based on the position of the user-carried mobile device with respect to the virtual boundary; estimating the position of the user-carried mobile device based on lateral position values and an altitude value associated with the user-carried mobile device, as estimated utilizing the at least one sensor; and performing the action or causing the action to be performed via user-carried the mobile device, if it is determined that the position of the user-carried mobile device triggers the boundary-related event.