I believe this is worked out very nicely in "Geometrization of Three-Dimensional Orbifolds via Ricci Flow" by Bruce Kleiner, John Lott (http://arxiv.org/abs/1101.3733). 

An *atlas* for an $n$-orbifold $\mathcal O$ consists of a Hausdorff paracompact topological space $|\mathcal O|$ together with an open covering $\{U_\alpha\}$, local models $\{(\hat U_\alpha,G_\alpha)\}$ ($U_\alpha$ connected open subset of $\mathbb R^n$) and homeomorphisms $\varphi_\alpha:U_\alpha\to \hat U_\alpha/G_\alpha$ satisfying a compatibility condition. An *orbifold* is then defined by an equivalence class of such atlas. (See page 6 of Kleiner-Lott.)
 

A *smooth map* $f:\mathcal O_1\to\mathcal O_2$ between orbifolds is given by a continuous map $|f|:|\mathcal O_1|\to |\mathcal O_2|$ with the property that for each $p\in |\mathcal O_1|$, there are local models $(\hat U_i,G_i)$ ($i=1$, $2$) and a smooth map $\hat f:\hat U_1\to \hat U_2$ equivariant with respect to a homomorphism $\rho:G_1\to G_2$ such that $\pi_2\circ \hat f = |f|\circ \pi_1$ where $\pi_i:\hat U_i \to U_i$ is the projection ($\rho$ is not required to be injective or surjective). (See page 7 of Kleiner-Lott.)

 
I think this satisfies your requirements and is in the spirit of Thurston. 

**Edit**: Perhaps I should mention Remark 2.8 in the Kleiner-Lott paper
(also in regard to other answers to this post), which recalls 
that an orbifold can also be seen as a smooth proper étale grupoid (and 
Morita-equivalent grupoids correspond to equivalent orbifolds). A grupoid 
morphism gives rise to an orbifold map, but these correspond to a stricter
class of maps called *good maps*. The advantage of these maps
is that one can pull back orbi-vector bundles.