I gave this some thought, and tried to list all possible number arrangements using parameters listed by OP. I broke it down into two categories, Normal and Flipped.
NORMAL
These are the easiest numbers. i put in variables where the number can vary, with a description at the end as to which numbers they can be
0001-0059
0x00-0x59
1x00-1x59
2000-2059
2100-2159
2200-2259
2300-2359
x=any number
if creating a template, it would be (z)x(y)x, where x=0-9, y=0-5 and z=0-2
FLIPPED
when you flip the image upside down, the numbers can represent other numbers or letters, specifically, the six and nine, the 3 to an E, and the 7 to an L. The numbers can also be themselves again, as in the case of 1,2,5,8, and 0. this unlocks more possibilities for numbers not originally avilable. It also repeats some of the normal numbers, so I removed those from the sample list i made.
set(flipped):
1=1
2=2
3=E
4=null, number doesnt resemble anything but an upside down 4
5=5
6=9
7=L
8=8
9=6
0=0
this unlocks, some of the 2000 range, 8000 range, 6000 range, and the 9000 range. also, E000 and L000 ranges, but, ya know, that starts looking a bit too weird. For example, in the 2000 range, the numbers newly available (not previously available through normal means):
2060,2061,2080,2081,2090,2091,20E0,20E1,20E2,20L0,20L1
2160,2161,2180,2181,2190,2191,21E0,21E1,21E2,21L0,21L1
2260,2261,2280,2281,2290,2291,22E0,22E1,22E2,22L0,22L1
2500,2501,2502,2510,2511,2512,2520,2521,2522,2550,2551,2560,2561,2580,2581,2590,2591,25E0,25E1,25E2,25L0,25L1
2E00,2E01,2E02,2E10,2E11,2E12,2E20,2E21,2E22,2E50,2E51,2E60,2E61,2E80,2E81,2E90,2E91,2EE0,2EE1,2EE2,2EL0,2EL1
2L00,2L01,2L02,2L10,2L11,2L12,2L20,2L21,2L22,2L50,2L51,2L60,2L61,2L80,2L81,2L90,2L91,2LE0,2LE1,2LE2,2LL0,2LL1
someone with better coding skills could make a full list of all digits available, but I'm too lazy to write that code up, or list those numbers down. The template for flipped numbers would look like this:
x(y)x(z), where x=0-9, y=0-5, z=0-2