Implementing a simple queue in C
One major thing:
Queue consists of node which consist of data. Here, your data is Customer.
Data should not be coupled with the Queue i.e. think this way.

   typedef struct Node{
         Node* next; // navigation pointer.
         Customer customer; // data
   }Node;


Considering the current implementation, here are a few points to go with:


Initialize misses to initialize customer_cnt = 0;.
Where are you allocating the Queue instance. Instead, have getQueueNode which allocates memory for the node and initialise that as well. Allocation at one place helps for e.g: easy debugging when malloc returns null due to insufficient memory.
Extract common code outside the if-else block in enqueue().
Put related code at once i.e. in dequeue operations for head_customer could be consecutive.