Schema DB per l'imballaggio di prodotti / servizi in un unico prezzo / offerta

5

Sto cercando di "concepire" la logica di business di questo sito che ha molte attività, che gli utenti possono costruire il loro "combo" e ottenere sconti a seconda delle loro scelte e per quanto tempo sono disposti a pagare per il loro piano ( Piani di 1, 3, 6 e 12 mesi).

Ho difficoltà a cercare di trovare una soluzione, mantenendo il database normalizzato e con relazioni adeguate, senza dover ricorrere ai dati codificati JSON nei campi del database. Il sistema deve rimanere abbastanza generico da adattarsi a molti tipi di aziende che si basano su piani / attività. Devo sapere come strutturare le mie tabelle .

Scenario: Ad esempio, nel caso di una palestra, avrai bodybuilding, yoga, boxe, body pump. Se la persona sceglie il bodybuilding e la boxe, avrà uno sconto. Se aggiungono yoga, boxe e bodybuilding manterranno lo sconto, ma aggiungeranno lo yoga senza sconti al prezzo. Se la persona decide di pagare 12 mesi in anticipo, otterrà uno sconto maggiore.

Bodybuilding + Body Pump

Bodybuilding..$70 | 28% discount
Body Pump.....$70 | 
Total........$100

1 month  - $100 / month
3 months - $ 91 / month
6 months - $ 75 / month

Bodybuilding + Body Pump + Yoga

Bodybuilding..$70 | 28% discount
Body pump.....$70 |
Yoga..........$90 | No discount
Total........$190   

1 month  - $190 / month
3 months - $171 / month
6 months - $158 / month

Userò PHP e MYSQL ma non importa molto, solo la parte RDBMS.

Modifica per chiarimenti: quello che cerco davvero è uno schema di database per i prodotti di imballaggio (o in questo caso i servizi) insieme sotto un unico prezzo / offerta. Ogni prodotto deve anche esistere nel sistema come prodotto standalone.

Ho ancora bisogno della possibilità di riportare vendite (e profitti) per prodotto anche se quel prodotto è stato venduto come parte di un pacchetto.

Avrei bisogno della capacità di generare rapporti sulle prestazioni del pacchetto.

    
posta pocesar 30.12.2012 - 04:38
fonte

1 risposta

2

Al minimo È necessario:

  1. Una tabella di intestazione promozionale: contiene esattamente ciò che ottieni con Promozione (articolo gratuito, spedizione gratuita, $ sconto)
  2. Tabelle dei requisiti di promozione (io a meany per Promo's, Hold all the requisito se la promozione) Ogni record è un requisito, I requisiti possono essere "deve essere e articolo di Marca X" o devono essere SKU 1234, o il totale dell'ordine deve essere > 50 $ (Quando ho fatto questo, ho avuto un tipo di riga bandiera che mi ha detto che bambino se Requisito era.)
  3. Un modulo che è un buon controllo se un ordine soddisfa una promozione Requisiti.

Sfortunatamente, non posso darti un ERD esatto, perché le condizioni di promozione variano molto da azienda a azienda, quindi spetta a te renderlo complesso o semplice quanto necessario. Ad esempio, hai bisogno di Promos by SKU ?, Per categoria, per sottocategoria ?, per marca ?, hai bisogno di escludere alcuni SKU ?, marchi? all'interno della categoria? posizioni di spedizione?

Infine assicurati di rendere questa cosa facile da mantenere e regolare, perché proprio quando pensi di aver coperto tutte le tue basi il team di business avrà qualche nuovo pazzo promozionale nessun cliente sulla terra comprenderà come usare .

Modifica * Ora capisco meglio la tua domanda qui di cosa hai bisogno: *

Tabella intestazione pacchetto e tabella degli elementi pubblicitari, il nome e la descrizione del pacchetto sono memorizzati nell'intestazione, le righe contengono gli articoli (compresi i prezzi degli articoli venduti come parte di tale pacchetto).

È necessario un modo per aggiungere un pacchetto all'ordine. Al termine, aggiungi ciascun elemento del pacchetto come elemento pubblicitario normale, ma disponi di campi aggiuntivi per specificare che l'elemento fa parte di un pacchetto e di un ID pacchetto.

Spetta quindi a te decidere come si desidera codificare l'ordine Stampa, O stampare solo un pacchetto totale, in modo che il cliente non conosca i prezzi degli elementi pubblicitari, o stamparlo normalmente ma aggiungerlo con la descrizione del pacchetto .

    
risposta data 30.12.2012 - 05:07
fonte

Leggi altre domande sui tag