I'd approach it sort of like you did - with displacement maps. Granted, I try to avoid using displacement due to all of the precalcs that need to happen not to mention you need a hefty amount of RAM if you are rendering the Aladin (I am mostly reffering to the rug store).
What you could also do is zbrush it :)