A bifibration of categories is a functor
that is both a Grothendieck fibration as well as an opfibration.
Therefore every morphism $f : b_1 \to b_2$ in a bifibration has both a push-forward $f_* : E_{b_1} \to E_{b_2}$ as well as a pullback $f^* : E_{b_2} \to E_{b_1}$.
For $C$ any category with pullbacks, the codomain fibration $cod : [I,C] \to C$ is a bifibration.
Dually, for $C$ any category with pushouts, the domain opfibration $dom : [I,C] \to C$ is a bifibration.
The forgetful functor Top $\to$ Set is a bifibration. See also topological concrete category.
The forgetful functor Grpd $\to$ Set is a bifibration.
The forgetful functor Cat $\to$ Set is a bifibration.
Ordinary Grothendieck fibrations correspond to pseudofunctors to Cat, by the Grothendieck construction and hence to prestacks. For these one may consider descent.
If the fibration is even a bifibration, there is a particularly elegant algebraic way to encode its descent properties; this is monadic descent. The Benabou–Roubaud theorem characterizes descent properties for bifibrations.
A bifibration $F:E\to B$ such that $F^{op}:E^{op}\to B$ is a bifibration as well is called a trifibration (cf. Pavlović 1990, p.315).
Paul-André Melliès, Noam Zeilberger, Type refinement and monoidal closed bifibrations, arXiv.1310.0263 (2013).
Duško Pavlović, Categorical Interpolation: Descent and the Beck-Chevalley Condition without Direct Images , pp.306-325 in Category theory Como 1990, LNM 1488 Springer Heidelberg 1991.